哪些网站是503错误代码,怎样制作图片网站,物流托运,c 做网站怎么居中目录
字符串#xff1f;
struct#xff1f;
index细节#xff1f;
scanf细节#xff1f; 7-2 找出总分最高的学生
给定N个学生的基本信息#xff0c;包括学号#xff08;由5个数字组成的字符串#xff09;、姓名#xff08;长度小于10的不包含空白字符的非空字符…目录
字符串
struct
index细节
scanf细节 7-2 找出总分最高的学生
给定N个学生的基本信息包括学号由5个数字组成的字符串、姓名长度小于10的不包含空白字符的非空字符串和3门课程的成绩[0,100]区间内的整数要求输出总分最高学生的姓名、学号和总分。
输入格式
输入在一行中给出正整数N≤10。随后N行每行给出一位学生的信息格式为“学号 姓名 成绩1 成绩2 成绩3”中间以空格分隔。
输出格式
在一行中输出总分最高学生的姓名、学号和总分间隔一个空格。题目保证这样的学生是唯一的。
输入样例
5
00001 huanglan 78 83 75
00002 wanghai 76 80 77
00003 shenqiang 87 83 76
10001 zhangfeng 92 88 78
21987 zhangmeng 80 82 75输出样例 原先代码
#includestdio.h
#includestring.hstruct Student {char Id[5];char Name[10];int A;int B;int C;
};
int max(Student stu[],int N){int max stu[1].Astu[1].Bstu[1].C;int i ;int sum;int j 0;for(i0;iN;i){sum stu[i].Astu[i].Bstu[i].C;if(maxsum){maxsum;j;}}return j;
}
int main(){int N;scanf(%d,N);struct Student stu[N];int i;for(i0;iN;i){scanf(%s %s %d %d %d\n,stu[i].Id,stu[i].Name,stu[i].A,stu[i].B,stu[i].C);}int j ;j max(stu,N);int max stu[j].Astu[j].Bstu[j].C;printf(%s %s %d\n,stu[j].Name,stu[j].Id,max);return 0;} 修改后的代码
#includestdio.h
#includestring.hstruct Student {char Id[6];//char Name[10];int A;int B;int C;
};
int max(struct Student stu[],int N){//int max stu[0].Astu[0].Bstu[0].C;//int i ;int sum;int index 0;for(i0;iN;i){sum stu[i].Astu[i].Bstu[i].C;if(maxsum){maxsum;index i;}}return index;
}
int main(){int N;scanf(%d,N);struct Student stu[N];int i;for(i0;iN;i){scanf(%s %s %d %d %d,stu[i].Id,stu[i].Name,stu[i].A,stu[i].B,stu[i].C);//}int index ;index max(stu,N);int max stu[index].Astu[index].Bstu[index].C;printf(%s %s %d\n,stu[index].Name,stu[index].Id,max);return 0;}
几个注意事项
字符串
1、字符串要多留一位。 char Id[6]; struct
2、调用非既定的要写出struct int max(struct Student stu[],int N){} index细节
3、 我原先写的j是不对的。因为这样子的加加是没有考虑到如果中间有没有比max大的数字的时候那之后别人的加加就不是对应求它的索引了。我一开始想着加加就可以求得索引值。 scanf细节 scanf(%s %s %d %d %d,stu[i].Id,stu[i].Name,stu[i].A,stu[i].B,stu[i].C);// 4、scanf不需要写\n