1102: C语言程序设计教程(第三版)课后习题11.5
作者:互联网
问题
题目描述
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
输入
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
输出
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
样例输入
2
1 blue 90 80 70
b clan 80 70 60
样例输出
85 75 65
1 blue 90 80 70
代码如下:
代码如下(示例):
#include <stdio.h>
#include <string.h>
typedef struct student//使用typedef,简化命名,进行替代
{
char str[10];
char name[10];
int a,b,c;
}stu;
int main()
{
int n,i=0;
stu s,max;
float s1=0,s2=0,s3=0;
scanf("%d",&n);
max.a=0;
max.b=0;
max.c=0;
for(i=0;i<n;i++)
{
scanf("%s %s %d %d %d",s.str,s.name,&s.a,&s.b,&s.c);
if((max.a+max.b+max.c)<(s.a+s.b+s.c))
max=s;
s1=s1+s.a;
s2=s2+s.b;
s3=s3+s.c;
}
printf("%.0f %.0f %.0f\n",s1/n,s2/n,s3/n);
printf("%s %s %d %d %d\n",max.str,max.name,max.a,max.b,max.c);
return 0;
}
总结
结构体其实就是一个类型的名称的简化,方便引用来的。
其他的计算和之前的一样
定义结构体,主函数的循环输入与输出,循环中的累计比较和累加,累计等等。
标签:门课,int,11.5,学生,课后,max,习题,成绩,80 来源: https://blog.csdn.net/qq_51907130/article/details/111249623