写着写着突然不知道要干嘛了,感觉不符合题意,我该怎么写才能像给出的图示一般?
供参考:
#include <stdio.h>
#define N 5
#define M 3
struct student{
int num;
char name[12];
int score[M];
}stu[N];
int main()
{
void print(struct student stu[]);
int i,j;
for (i = 0;i < N; i++)
{
printf("请输入第%d个学生的信息\n",i+1);
printf("学号:");
scanf("%d", &stu[i].num);
printf("姓名:");
scanf("%s", stu[i].name);
for (j = 0;j < M; j++)
{
printf("第%d门成绩:",j+1);
scanf("%d", &stu[i].score[j]);
}
printf("\n");
}
print(stu);
return 0;
}
void print(struct student stu[])
{
int i,j;
printf("%6s%6s%6s%6s%6s\n","学号 ", "姓名 ", "成绩1 " ,"成绩2 " ,"成绩3 ");
for (i = 0;i < N; i++){
printf("%-6d%-6s", stu[i].num, stu[i].name);
for (j = 0;j < M; j++)
printf("%-6d", stu[i].score[j]);
printf("\n");
}
}
仅供参考!谢谢!
#include <stdio.h>
#define M 5
#define N 3
struct student
{
int num;
char name[20];
float score[N];
} stu[M];
int main(int argc, char *argv[])
{
void print(struct student stu[]);
int i, j;
for (i = 0; i < M; i++)
{
printf("请输入第%d个学生信息\n", i + 1);
printf("学号:");
scanf("%d%*c", &stu[i].num);
printf("姓名:");
scanf("%19[^\n]s", stu[i].name);
for (j = 0; j < N; j++)
{
printf("第%d门成绩:", j + 1);
scanf("%f", &stu[i].score[j]);
}
puts("");
}
print(stu);
return 0;
}
void print(struct student stu[])
{
printf("学号 姓名 成绩1 成绩2 成绩3\n");
for (int i = 0; i < M; i++)
{
printf("%d%12s", stu[i].num, stu[i].name);
for (int j = 0; j < N; j++)
{
printf("%10.1f", stu[i].score[j]);
}
puts("");
}
}