c语言小白“ 2021-12-29 17:16 采纳率: 100%
浏览 71
已结题

问题:设定一名学生的基本信息包括学号,姓名,数学成绩,英语成绩。现要求你用结构体构 建一个学生的信息库,信息由键盘输入,至少能同时输入五个人的信息。输出学生信息。为什么打印不出来啊,求解答

typedef struct Stu
{
char name[20];
unsigned long long ID;
int Math;
int English;
int pj;//pj为数学和英语地平均值
}Stu;
int main()
{
int i;
Stu student[5];
printf("请输入学生信息:");
for (i = 0; i < 5; i++)
{
scanf_s("%s %llu %d %d", &student[i].name, &student[i].ID,&student[i].Math,&student[i].English);
student[i].pj = (student[i].English + student[i].Math)/2;
}
for (i = 1; i <= 5; i++)
{
printf("第%d名同学信息:名字:%s 学号:%llu 数:%d 英:%d 平均:%d",i, student[i].name, student[i].ID, student[i].Math, student[i].English,student[i].pj);
}
return 0;
}

  • 写回答

2条回答 默认 最新

  • fuill 2021-12-29 17:40
    关注

    &student[i].name,
    改成
    student[i].name,
    别的地方也有问题,改了下

    img

    #include <stdio.h>
    typedef struct Stu
    {
        char name[20];
        long long ID;
        int Math;
        int English;
        int pj;//pj为数学和英语地平均值
    } Stu;
    int main()
    {
        int i;
        Stu student[5];
        printf("请输入学生信息:");
        for (i = 0; i < 5; i++)
        {
            scanf("%s %lld %d %d", student[i].name, &student[i].ID,&student[i].Math,&student[i].English);
            student[i].pj = (student[i].English + student[i].Math)/2;
        }
        for (i = 0; i < 5; i++)
        {
            printf("第%d名同学信息:\n名字:%s 学号:%lld 数:%d 英:%d 平均:%d\n",i+1, student[i].name, student[i].ID, student[i].Math, student[i].English,student[i].pj);
        }
        return 0;
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月29日