原题链接:[编程入门]结构体之成绩统计2
0.0分
20 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
for(i=0;i<3;i++) { for(j=0;j<n;j++) { num[i]+=stu[j].grade[i]; } } for(i=0;i<3;i++) { printf("%d ",(int)(num[i]/n+0.5)); } printf("\n"); for(i=0;i<n;i++) { for(j=0;j<3;j++) { num[i]+=stu[i].grade[j]; } } for(i=0,j=1;i<n&&j<n;) { if(num[i]>num[j]) j++; else i++; if(i==n||j==n) { if(num[i]>num[j]) printf("%s %s %d %d %d",stu[i].number,stu[i].name,stu[i].grade[0],stu[i].grade[1],stu[i].grade[2]); else printf("%s %s %d %d %d",stu[j].number,stu[j].name,stu[j].grade[0],stu[j].grade[1],stu[j].grade[2]); } }
@拂晓 和函数未声明无关
int main() { int n; scanf("%d",&n);; struct student stu[n];; input[stu]; aver[stu]; max[stu]; } 大佬帮忙看看主函数有什么问题,QAQ
@Monkey 自己用了测试点就过不了
#include<stdio.h> typedef struct student{ char num[10]; char name[10]; int score[3]; struct student*next; }student_info; int main(){ int n; scanf("%d",&n); student_info*l; l=(student_info*)malloc(sizeof(student_info)); l->next=NULL; student_info*p; student_info*q; p=l; int i; for(i=0;i<n;i++){ q=(student_info*)malloc(sizeof(student_info)); scanf("%s%s%d%d%d",&q->num,&q->name,&q->score[0],&q->score[1],&q->score[2]); p->next=q; p=q; } p=l->next; int sum1=0,sum2=0,sum3=0,sum=0; while(p!=NULL){
@Monkey 可以自己用浮点
如果有两个同学分数完全一样,题目狮虎没考虑
@heart for(i=0;i<n;i++) { if(high<count[i+1]) high=count[i+1]; }
@heart 我也觉得错了
for(i=0;i<n;i++) { if(count[i]<count[i+1]) high=count[i+1]; } 这里错了吧 如果:count[0]>count[1] 那么count[1]和count[2]比大小?