m0_68396620 2022-04-04 21:18 采纳率: 33.3%
浏览 19
已结题

为什么成绩列表打印不出来?

img


#include <stdio.h>
#include <math.h>
struct Student
{
char name;
int A;
int B;
int C;
float aver;
};
int main()
{
struct Student stud[5];//定义结构体数组stud[5]
int x;
void input(struct Student s[], int n);
void average(struct Student s[], int n);
void print(struct Student s[], int n);
scanf("%d",&x);
input(stud,x);
average(stud,x);
print(stud,x);
return 0;
}
void input(struct Student s[], int n)
{
int i;
for(i=1;i<=n;i++)
{
printf("请输入第%d名学生数据:\n",i);
printf("姓 名:");
scanf("%s",&s[i].name);
printf("A课程成绩:");
scanf("%d",&s[i].A);
printf("B课程成绩:");
scanf("%d",&s[i].B);
printf("C课程成绩:");
scanf("%d",&s[i].C);
}
printf("\n");
}
void average(struct Student s[], int n)
{
int i;
for(i=1;i<=n;i++)
{
s[i].aver=(s[i].A+s[i].B+s[i].C)/3.0;
}
}
void print(struct Student s[], int n)
{
int i;
printf("学生成绩列表:\n");
for(i=1;i<=n;i++)
{
printf("姓名:%s,A课程成绩:%d,B课程成绩:%d,C课程成绩: %d,平均分:%f。\n",s[i].name,s[i].A,s[i].B,s[i].C,s[i].aver);
}
printf("\n");
}

  • 写回答

1条回答 默认 最新

  • Suck.me 2022-04-04 21:43
    关注

    我能看到的问题就是%s输出应该取地址,要不你就用%c,但这输出一个字符。
    注意到你使用一个char来保存字符串,最好是用char数组,输出的时候就可以用s[i].name了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理