C语言 有10个学生,每个学生数据包括学号,姓名,3门课的成绩,从键盘上输入10个学生的数据,要求打印出3

C语言 有10个学生,每个学生数据包括学号,姓名,3门课的成绩,从键盘上输入10个学生的数据,要求打印出3门课的平均成绩

有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
要求:用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。
程序如下:
#define N 10
struct student
{
char num[6] ;
char name[10] ;
int score[3] ;
float avr;
}stu[N];
void main()
{
int i,I=0,j,max=0,maxi=0,sum;
float average=0; //定义变量average
for(i=0; i<N;i++) //I控制学生数
{
printf("\n Input scores of student %d:\n",I+1);//标明第几个学生
printf("NO.:");
scanf("%s",stu[i].num); //为学生输入学号
printf("name:");
scanf("%s",stu[i].name); //输入学生的名字
for(j=0;j<3;j++)
{
printf("score %d:",j+1);
scanf("%d", &stu[i].score[j]); //输入第i个学生的三科成绩
}
I++;
}
for(i=0;i<N;i++)
{
sum=0;
for(j=0;j<3;j++)
sum+=stu[i].score[j]; //将第i个学生的三科成绩相加
stu[i].avr=sum/3.0; //求出第i个学生三科的平均成绩
average+=stu[i].avr;//将i个学生的平均成绩相加
if(sum>max)
{
max=sum; //求出i个学生的总分最高分
maxi=i; //记录第几个学生总分值高
}
}
average/=N;//求出N个学生的总平均分
printf(" NO. name score1 score2 score3 avr\n");//提示输出某个学生名字及其各科成绩和平均分
for(i=0;i<N;i++)//控制学生数
{
printf("%5s%10s",stu[i].num, stu[i].name);//输出第i个学生的学号和名字
for(j=0;j<3;j++)//控制科目
printf("%9d",stu[i].score[j]);//分别输出第i个学生的各科成绩
printf("%8.2f\n",stu[i].avr);//输出第i个学生的各科平均分,保留两位小数
}
printf("average=%6.2f\n",average);//输出N个学生的总平均分
printf("The highest score is: %s score total: %d分\n",stu[maxi].name,max);//输出总分最高的学生的相关数据
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-20
#include(stdio.h)
main()
{struct student
{long number;
char name[20];
float score[4];
}person[10];
int i;
printf("请输入10名学生的学号、姓名、及三门成绩:");
for(i=0;i<10;i++)
scanf("%d,%s,%d,%d,%d",&person[i]->number,person[i]->name,&person->score[0],&person->score[1],&person->score[2]);
for(i=0,i<10;i++)
person->score[3]=(person->score[0]+person->score[1]+person->score[2])/3;
printf("10名同学的情况如下:\n");
for(i=0;i<10;i++)
printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",person[i]->number,person[i]->name[20],person->score[0],person->score[1],person->score[2],person->score[3]);
}
我写了一下,没在电脑上运行,你看看对不对。本回答被网友采纳
第2个回答  2010-12-19
自食其力....我前几天才..好不容易弄出一个..书上应该有的...
第3个回答  2010-12-20
我刚做好一个、明天早上给你发呀、、
相似回答