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 CATIA有些零件打开直接单机确定终止
  • ¥15 请问有会的吗,用MATLAB做
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 ARIMA模型时间序列预测用pathon解决
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址