谭浩强C语言程序设计(第4四5五版)第9.5题
本帖最后由 5NYouGuo 于 2022-12-10 23:08 编辑题干:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
说明:编译器:notepad++ 5.1.7(大一新生,刚学不是特别熟练,所以代码有啰嗦的地方或者有错误的请自行改正,当然我特别欢迎你评论出我有待提高的地方。)
#include <stdio.h>
struct student
{
char id;
char name;
float yw,math,eng,sum,aver;
}s;
int main()
{
// 算个人的总、平均成绩
int i;
for(i = 0;i<10;i++)
{
struct student *p;
p = &s;
printf("学号、姓名、语数外(以空格分开):");
scanf("%s %s %f %f %f",s.id,(*p).name,&s.yw,&s.math,&s.eng);
s.sum = s.yw + s.math + s.eng;
s.aver = (s.sum) / 3.0;
printf("学号%s、姓名%s、语数外%.1f\t%.1f\t%.1f总分%.1f平均分%.2f\n",s.id,(*p).name,p->yw,s.math,s.eng,s.sum,s.aver);
printf("\n");
}
// 总平均成绩
float average,sum;
sum=0;
for(i=0;i<10;i++)
{
sum += s.yw + s.math + s.eng ;
}
average = sum / 10.0;
printf("总平均成绩为:%.3f\n",average);
// 最高平均分
int j=0;
for(i=0;i<10;i++)
{
if(s.aver>s.aver)
{
j=i;
}
}
printf("最高平均分为:%.2f,学号:%s,姓名:%s,语数外分别:%.1f\t%.1f\t%.1f\t\n",s.aver,s.id,s.name,s.yw,s.math,s.eng);
} 不错,比我大一时候强多了
有没有可能三个循环可以合并成一个{:301_1007:} 比我大一厉害{:1_893:}
谭浩强,久远的回忆
有输入模块,需要对输入项的格式做格式报错判断吧。不然程序直接报错退出了。 看床走不动路 发表于 2022-11-29 10:57
有没有可能三个循环可以合并成一个
还不太了解{:1_924:}没认真听课,经常摸鱼... ... vfa 发表于 2022-11-29 14:19
有输入模块,需要对输入项的格式做格式报错判断吧。不然程序直接报错退出了。
还不会了呵呵呵{:1_924:} fififi 发表于 2022-11-29 10:42
不错,比我大一时候强多了
参考了csdn的一篇文章,你过誉了{:1_893:}
页:
[1]