| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:求助,大家来看看
取消只看楼主 加入收藏
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
 问题点数:0 回复次数:3 
求助,大家来看看
#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
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
得分:0 
别啊.给改一下.///怎么个不搭配法?

2007-05-25 21:31
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
得分:0 
先谢谢 无玩过界, 也谢谢其他看贴回贴的人,
我去调试下,看看问题在哪?

2007-05-26 07:28
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
得分:0 
#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]);
};/* 输入*/
}
aver(p2);
output(p2,p1);/*类类型要匹配,切忌前后顺序别颠倒*/
check(p2,p1);


}
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;
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;
int i,j,num,flag;
printf("===========The good students==========\n");
printf("===========number=================\n");
for(i=0,p=p2;i<4;i++,p2+=5)
{
sum=0;
num=0;
flag=0;/*置初值*/
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输出学号*/
}
}
}
发现自己犯了一个低级的错误,红字部分休整..真是不小心啊~!~
个人体会,调试程序的时候看来不能忽略warning ,调试到一个error和warning都不存在为止;一定要养成好的习惯!!
大家一起进步..

PS:无玩过界 你说我的格式不好,请指正,谢谢,!

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



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

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