| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:求助,大家来看看
只看楼主 加入收藏
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
 问题点数:0 回复次数:11 
求助,大家来看看
#include "stdio.h"
#include "math.h"
void aver(float*);
void output(float*,int*);
void check(float*,int*);
main()
{
int i,j,num[4],*p1;
float score[4][5],*p2;
char course[5][10],*p3;
p1=&num[0];
p2=&score[0][0];
printf("\nInput the courses:");
for(i=0;i<5;i++)
{
scanf("%s",course[i]);
}
printf("\nInput the NO.and score:");
for(i=0;i<4;i++)
{
scanf("%d",&num[i]);/*注意数组前+取地址符号*/
for(j=0;j<5;j++)
{
scanf("%f",&score[i][j]);
};/* 输入*/
}
for(i=0;i<4;i++)
printf("%d",*p1++);
aver(p2);
output(p1,p2);
check(p1,p2);

}
void aver(float *p)/*求一门课的平均成绩*/
{
int i;
float sum=0,aver;
for(i=0;i<4;i++)
{
sum+=*(p+5*i);
}
aver=sum/4;
printf("The average of the first course is: %.2f\n",aver);
}
void output(float *p2, int *p1)
{
float *p,*temp,sum,aver;
int i,j,flag;
printf("===========The failed students==========\n");
printf("===number====score==============aver\n");
for(i=0;i<4;i++,p2+=5)/*查找不及格学生*/
{
sum=0;
flag=0; /这部分有问题.读过来的成绩都是00000,为什么,是实参和形参的问题吗?/
aver=0;/*初值*/
p=p2;
temp=p2;
for(j=0;j<5;j++,p++)
{
if(*p<60)
flag+=1;
}
if(flag>=2)
{
printf("%3d",*(p1+i));/*输出学号*/
for(j=0;j<5;j++)
{
printf(" %.2f",*temp++);/*输出成绩*/
}
for(j=0,p=p2;j<5;j++,p++)
{
sum+=*p;
}
aver=sum/5;
printf(" %.2f\n",aver);/*输出平均值*/
}
}


}
void check(float *p2,int *p1)
{
float *p,aver,sum=0;
int i,j,num=0,flag=0;/*置标志位*/
printf("===========The good students==========\n");
printf("===========number=================\n");
for(i=0,p=p2;i<4;i++,p2+=5)
{
for(j=0;j<5;j++,p++)
{
if(*p>85)
num+=1;
}
if(num==5)
{
flag=1;
printf("%3d",*(p1+i));/*每门成绩都>85输出学号*/
}
for(j=0,p=p2;j<5;j++,p++)
{

sum+=*p;
}
aver=sum/5;
if( (aver>90) && (flag==0))
{
printf("%3d",*(p1+i));/*平均成绩>90输出学号*/
}
}
}

搞不定了,高手来看看
搜索更多相关主题的帖子: include void 
2007-05-25 19:23
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 
你的指针不搭配

2007-05-25 19:48
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
...........
我昏了```

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-25 21:17
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
得分:0 
别啊.给改一下.///怎么个不搭配法?

2007-05-25 21:31
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 
二维那里

2007-05-25 21:37
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 
哎!!~~~~~~   我也晕咯  哎 主要是自己还不够强 

希望一心想学c的加我的群吧~~ 40834003
2007-05-25 21:48
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 
我试试改下,我给楼主建议还是用结构体数组还好

2007-05-25 22:20
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 

#include "stdio.h"
#include "math.h"
void aver(float (*p)[5]);
void output(int *p1,float (*p2)[5]);
void check(float*,int*);
main()
{
int i,j,num[4],*p1;
float score[4][5],*p2;
char course[5][10],*p3;
p1=&num[0];
//p2=&score[0][0];
printf("\nInput the courses:");
for(i=0;i<5;i++)
{
scanf("%s",course[i]);
}

for(i=0;i<4;i++) //一个编号对应一行成绩
{
printf("\nInput the NO.and score:");
scanf("%d",&num[i]);/*注意数组前+取地址符号*/
for(j=0;j<5;j++)
{
scanf("%f",&score[i][j]);
};/* 输入*/
}
for(i=0;i<4;i++)
printf("%d",*p1++);
p1=num;//这里给一个初值
//aver(p2);
aver(score);

//output(p1,p2);
output(p1,score);

//check(p1,p2);
//check(p1,score);

}
void aver(float (*p)[5])/*求一门课的平均成绩*/
{
int i,j;
float sum=0,aver;
/*for(i=0;i<4;i++)
{
sum+=*(p+5*i);
}*/
for(i=0;i<4;i++)
{for(j=0;j<5;j++)
{
sum+=p[i][j];
}
aver=sum/4;
printf("The average of the first course is: %.2f\n",aver); }
}

/*下面给你改动很大*/
void output(int *p1,float (*p2)[5])
{
float sum,aver;
int i,j,flag;
printf("===========The failed students==========\n");
printf("===number====score==============aver\n");
for(i=0;i<4;i++)
{
sum=0.0;
flag=0;
for(j=0;j<5;j++)
{
if(p2[i][j]<60)
flag++;
}
if(flag>=2)
{
printf("%3d",*(p1+i));/*输出学号*/
for(j=0;j<5;j++)
printf(" %.2f",p2[i][j]);/*输出成绩*/
for(j=0;j<5;j++)
{
sum+=p2[i][j];
}
aver=sum/5;
printf(" %.2f\n",aver);/*输出平均值*/

}

}
}

我帮你改了某部分,但是我没有完全帮你修改,而且楼主布局方面不合理和楼主好像没有写完个程序,所以。。。。,如果楼主对指针不是清楚,那小用指针为好,我帮你改得很辛苦。


2007-05-25 22:42
老糊涂
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-5-19
收藏
得分:0 

那么长,看都怕了~


2007-05-26 00:11
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 

不过他的程序的思路还可以接受。


2007-05-26 00:22
快速回复:求助,大家来看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032890 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved