#include <stdio.h>
struct stu
{
int no;
char name[30];
int g[3];
int s;
int gk;
};
int main()
{ struct stu a[30];
int n;
while(scanf("%d",&n)!=EOF)
{int i,j;
for(i=0;i<n;i++)
{a[i].s=0;a[i].gk=0;
scanf("%d%s",&a[i].no,&a[i].name);
for(j=0;j<3;j++)
{a[i].s=a[i].s+a[i].g[j];
if(a[i].g[j]<60)
a[i].gk=1;}}
int max=0;
for(i=0;i<n;i++)
{if(a[i].s>max&&a[i].gk==0)
max=a[i].s;}
for(i=0;i<n;i++)
{if(a[i].s==max&&a[i].gk==0)
printf("%d %s %d\n",a[i].no,a[i].name,a[i].s);}
}return 0;
}
左叶8 为什么显示server timeout
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2023-03-01 10:11关注
应该是因为缺少获取每个学生3门成绩的代码,所以导致获取输入错误,而让程序异常了。补上获取每个学生3门成绩的代码即可。
修改如下:#include <stdio.h> struct stu { int no; char name[30]; int g[3]; int s; int gk; }; int main() { struct stu a[30]; int n; while(scanf("%d",&n)!=EOF) { int i,j; for(i=0; i<n; i++) { a[i].s=0; a[i].gk=0; scanf("%d%s",&a[i].no,a[i].name); for(j=0; j<3; j++) { scanf("%d",&(a[i].g[j])) ;// 增加每组中获取每个学生3门成绩的代码即可 a[i].s=a[i].s+a[i].g[j]; if(a[i].g[j]<60) a[i].gk=1; } // printf("input:%d %s %d,gk=%d\n",a[i].no,a[i].name,a[i].s,a[i].gk); } int max=0; for(i=0; i<n; i++) { if(a[i].s>max&&a[i].gk==0) max=a[i].s; } // printf("max=%d\n",max); for(i=0; i<n; i++) { if(a[i].s==max&&a[i].gk==0) printf("%d %s %d\n",a[i].no,a[i].name,a[i].s); } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 前端echarts坐标轴问题
- ¥15 CMFCPropertyPage
- ¥15 ad5933的I2C
- ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
- ¥15 数学建模求思路及代码
- ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
- ¥15 谁会P4语言啊,我想请教一下
- ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
- ¥50 求解vmware的网络模式问题 别拿AI回答
- ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳