例:输入10个学生的学号(整数) 和 3门课程的成绩(整数),统计并输出3门课程总分最ym 的学生的学号和总分(整数)
算法分析: 设计一个10行5列的二维数组, 用来存放10个学生的 学号, 成绩1, 成绩2, 成绩3, 总分
接着 输入10个学生的学号,3门课程成绩, 计算10个学生的3门课程总分, 然后求出总分最高的学生的3门课程总分和学号
代码如下:
void main(){
int s[10][5],i,max,max_i;
for(i=0;i<10;i++){
printf("input student NO, score1, score2, score3 \n");
scanf("%d, %d,%d,%d", &s[i][0], &s[i][1], &s[i][2], &s[i][3]);
}
for(i=0;i<10;i++){
s[i][4]= &s[i][1]+&s[i][2]+&s[i][3];
}
max = s[0][4], max_i=0; //设第1个学生为当前最高分
for(i=0;i<10;i++){
if(max<s[i][4]){
max=s[i][4],max_i=i;
}
}
printf("student NO =%d total=%d\n", s[max_i][0], s[max_i][4]);
}