原题链接:[编程入门]结构体之成绩统计2
参考代码:
#include<stdio.h> typedef struct Students{ // 指定用Sd代表struct Students char nab[20]; // 学号 char nam[20]; // 姓名 float A; // A课成绩 float B; // B课成绩 float C; // C课成绩 float nap; // 该学生三科平均分 }Sd; void printSd(Sd std); int main(){ int N,i,maxNap=0,maxi; // N学生个数,maxNap float Aap=0,Bap=0,Cap=0; // A、B、C三科平均分 scanf("%d", &N); Sd s[N]; // 结构体个数 for(i=0; i<N; i++){ // 为s[N]赋值 scanf("%s %s %f %f %f", &s[i].nab,&s[i].nam,&s[i].A,&s[i].B,&s[i].C); s[i].nap = (s[i].A+s[i].B+s[i].C)/3; // 计算各科平均分 Aap += s[i].A; // 求单科相加总分 Bap += s[i].B; Cap += s[i].C; } for(i=0; i<N; i++){ if(s[i].nap >= maxNap){ maxNap = s[i].nap; // 求学生中平均数最大的的 maxi = i; // 储存最大平均值学生的s[N]为maxi } } printf("%.0f %.0f %.0f\n", Aap/N,Bap/N,Cap/N); // 输出各科平均分 printSd(s[maxi]); // 传入最大平均分的学生的s[N] } void printSd(Sd std){ printf("%s %s %.0f %.0f %.0f\n", std.nab,std.nam,std.A,std.B,std.C); }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复