注册 登录
编程论坛 C语言论坛

二维数组插入成绩的问题

秋叶映月 发布于 2018-12-08 17:35, 2357 次点击
我在做一维数组插入成绩时的方法放在二维数组放好像是行不通的,代码是一维数组的插入
                        scanf("%d",&i);
            for(j=9;j>=i-1;j--)
            a[j]=a[j-1];
            printf("请输入需要插入的成绩:");
            scanf("%d",&j);
            a[i-1]=j;
            for(j=0;j<=9;j++)
            printf("%d号:%d \n",j+1,a[j]);
可是二维数组的插入怎么想都想不出来,下面的代码是我尝试写的
                                printf("请输入一位成绩:");
                scanf("%d",&k);
                for(i=4;i<10;i++)
                {
                   if(i==4)
                    a[i][i-3]=k;
                for(j=0;j<3;j++)
                    {
                       a[i][j]=t;
                    t=a[i][j+1];
                    a[i][j+1]=a[i][j];
                    }
                }
                for(i=0;i<10;i++)
                  {  for(j=0;j<3;j++)
                       {
                    printf("%4d",a[i][j]);
                       }
                    printf("\n");
                  }
4 回复
#2
幻紫灵心2018-12-08 18:54
感觉你的题目有点描述不清...?
二维数组怎么存的数据?想要怎么插入?
看你写的代码只读取了一个值,是要插在哪儿?怎么也该读取个插入地址吧?
#3
秋叶映月2018-12-08 19:17
回复 2楼 幻紫灵心
输入10个同学3门课成绩并保存。
(1)    计算每个同学的总分和平均分,保存并输出。
(2)    计算每门课程的总分和平均分,保存并输出。
(3)    找出并输出每门课程的最高分及其学号。
(4)    中间第5行插入一个同学的成绩
(5)    如果需要保存并打印每个同学的名字,应如何处理



就是第四题
#4
幻紫灵心2018-12-08 20:25
推荐用结构体来实现吧.
#5
kfyniriu2018-12-09 09:02
struct Score
{
    char name[20];
    char num[10];
    int age;
    int coures1;
    int course2;
    int course3;
    int sum;
    float average;
}score[11];
1