用c语言写一个二维数组储存数据

img

写好了

#include <stdio.h>

int main (void)
{
    int i,j,a=0,b=0,t1,t2,stu[5][5]={0};
    for(i=0;i<5;i++){
        for(j=0;j<2;j++){
        scanf("%d",&stu[i][j]);
            if(j==0){
                if(stu[i][j]>a){
                     a=stu[i][j];
                     t1=stu[i][j+1];
                }
            }
            else{
                if(stu[i][j]>b){
                     b=stu[i][j];
                     t2=stu[i][j-1];
                }
            }
        }
    }
    printf("年龄最大的成绩是%d\n",t1);
    printf("分最高的年龄是%d\n",t2);
    return 0;
}/*15 95
23 62
22 48
18 78
16 85*/

img

参考:

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    /*
        1、一个班有5个学生,每个学生有3门课的成绩,定义一个二维数组来存储学生的成绩,并初始化以下数据:
        学号(整数)    语文    数学    英语    总分
        100            80        85        90    
        101            75        90        80    
        102            60        50        70    
       1)依次输入五个学生的学号及各科成绩,自动计算总分并存储,然后输出。
    
       2)输出每个学生的学号及总分
    
       3)输出分数最高的学生的学号、总分
    */
    int a[5][5];
    int i,j;
    int sum=0,max=0,num=0;
    for(i=0;i<5;i++)
    {
        printf("请输入第%d个学生的学号,语文,数学,英语成绩:",i+1);
        sum=0;
        for(j=0;j<4;j++)
        {
            scanf("%d",&a[i][j]);    
            if(j>0)
                sum+= a[i][j];
        }
        //保存总分
        a[i][4]=sum;
    }
    //1)依次输入五个学生的学号及各科成绩,自动计算总分并存储,然后输出。
    printf("学号\t语文\t数学\t英语\t总分\n");
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            printf("%d\t",a[i][j]);
        }    
        printf("\n");
    }
    // 2)输出每个学生的学号及总分
    printf("学号\t总分\n");
    //初始化
    num=a[0][0];
    sum=a[0][4];
    for(i=0;i<5;i++)
    {
        //求总分最高的学生
        if(sum<a[i][4])
        {
            num=a[i][0];
            sum=a[i][4];    
        }
        printf("%d\t%d\n",a[i][0],a[i][4]);
    }
    // 3)输出分数最高的学生的学号、总分
    printf("学号=%d的学生成绩分数最高,成绩=%d\n",num,sum);
}

两层循环+if判断即可