问题描述 :
输入10个学生的学号和5门课程的成绩,统计输出5门课总分最高和最低的学生的学号和他们的总分。
输入说明 :
每行6个整数,共10行。
其中,每行第一个整数表示学生的学号,剩下的5个数表示他5门课程的成绩。
输出说明 :
两行,每行两个整数。
其中第一行为总分最高的学生的学号,和他的总分,用空格隔开。
第二行为总分最低的学生的学号,和他的总分,用空格隔开。
输入范例
99211201 1 2 3 4 5
99211207 2 2 3 4 5
99211217 3 2 3 4 5
99211227 4 2 3 4 5
99211231 5 2 3 4 5
99211232 6 2 3 4 5
99211233 7 2 3 4 5
99211235 8 2 3 4 5
99211236 9 2 3 4 5
99211237 10 2 3 4 5
输出范例
99211237 24
99211201 15
10行6列,动态分配时如果内存没有分寸够,会出现垃圾值,不要犯低级错误
#include<stdio.h>
int main(){
int i,j,max,min,sum,M,m;
int a[10][6];
char str[10];
for(i=0;i<10;i++){
for(j=0;j<6;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<10;i++){
sum=0;
for(j=1;j<6;j++){
sum=sum+a[i][j];
}
if(i==0){
max=sum;
min=sum;
M=0;m=0;
}
else{
if(max<sum){
max=sum;
M=i;
}
if(min>sum){
min=sum;
m=i;
}
}
}
printf("%d %d\n",a[M][0],max);
printf("%d %d\n",a[m][0],min);
return 0;
}