只能输出两组printf scanf
#include
struct Student
{
char name[20];
int num;
float math;
float english;
float c;
} student1;
int main()
{
printf("请输入该学生的姓名:");
scanf("%s",student1.name);
printf("请输入该学生的学号:");
scanf("%d",student1.num);
printf("请输入该学生的高数成绩:");
scanf("%f",student1.math);
printf("请输入该学生的英语成绩:");
scanf("%f",student1.english);
printf("请输入该学生的c语言成绩:");
scanf("%f",student1.c);
printf("该学生的姓名为:%s",student1.num );
printf("");
return 0;
}
在用于读取学生编号和成绩的scanf函数调用中,使用了错误的格式说明符。%d格式说明符用于读取整数,这是一种浮点类型。类似地,%f格式说明符用于读取浮点数,但使用它来读取学生名,这是一个字符串。
#include<stdio.h>
struct Student
{
char name[20];
float num;
float math;
float english;
float c;
} student1;
int main()
{
printf("请输入该学生的姓名:");
scanf("%s",student1.name);
printf("请输入该学生的学号:");
scanf("%f",&student1.num);
printf("请输入该学生的高数成绩:");
scanf("%f",&student1.math);
printf("请输入该学生的英语成绩:");
scanf("%f",&student1.english);
printf("请输入该学生的c语言成绩:");
scanf("%f",&student1.c);
printf("该学生的姓名为:%s", student1.name);
printf("该学生的学号为:%.2f", student1.num);
return 0;
}
望采纳。
printf("该学生的姓名为:%s",student1.num );
修改为
printf("该学生的学号为:%d\n", student1.num);