Lonesa 2021-12-07 19:58 采纳率: 100%
浏览 57
已结题

输入的学号变成了成绩,而输入的成绩则为零

现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100
#include<stdio.h>
void input(int N,int num[N],int score[N][3],char name[20],int i,int j)
{
for(i=0;i<N;i++)
{
printf("Please input students num:");
scanf("%d",&num[i]);
printf("Please input students name:");
gets(&name[i]);
for(j=0;j<3;j++)
{
printf("Please input scores:");
scanf("%d",&score[i][j]);
}
}
}
void print(int N,int num[N],int score[N][3],char name[20],int i,int j)
{
for(i=0;i<N;i++)
{
printf("学号 = %d\n",num[i]);
puts(name[i]);
getchar();
for(j=0;j<3;j++)
{
printf("分数 = %d\n",score[i][j]);

   }

}
}
int main()
{
int N = 0;
int i,j,num[N],score[N][3];
char name[20];
scanf("%d",&N);
input(N,num,score,name,i,j);
print(N,num,score,name,i,j);
return 0;
}

  • 写回答

2条回答 默认 最新

  • 关注

    先输入n,再用n设置数组长度
    scanf("%d", &N);
    int num[N], score[N][3];

    name要定义为二维数组
    char name[N][20]
    你题目的解答代码如下:

    #include <stdio.h>
    void input(int N, int num[N], int score[N][3], char name[N][20])
    {
        int i, j;
        for (i = 0; i < N; i++)
        {
            printf("Please input students num:");
            scanf("%d", &num[i]);
            printf("Please input students name:");
            getchar();
            gets(name[i]);
            for (j = 0; j < 3; j++)
            {
                printf("Please input scores:");
                scanf("%d", &score[i][j]);
            }
        }
    }
    void print(int N, int num[N], int score[N][3], char name[N][20])
    {
        int i, j;
        for (i = 0; i < N; i++)
        {
            printf("学号 = %d\n", num[i]);
            puts(name[i]);
            for (j = 0; j < 3; j++)
            {
                printf("分数 = %d\n", score[i][j]);
            }
        }
    }
    int main()
    {
        int N = 0;
        scanf("%d", &N);
        char name[N][20];
        int num[N], score[N][3];
        input(N, num, score, name);
        print(N, num, score, name);
        return 0;
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 12月7日