有10个学生,每个学生的数据包括学号、姓名、性别、年龄、三门课成绩,要求在main()函数中输入这10个学生的数据,并对每个学生调用函数count()计算总分和平均分,然后在main()函数中输出所有各项数据
时间: 2023-03-29 17:03:49 浏览: 137
好的,这是一个关于学生数据的问题,我可以回答。以下是代码示例:
#include <stdio.h>
struct student {
int id;
char name[20];
char gender;
int age;
int score1;
int score2;
int score3;
int total;
float average;
};
void count(struct student *s) {
s->total = s->score1 + s->score2 + s->score3;
s->average = (float)s->total / 3;
}
int main() {
struct student s[10];
int i;
// 输入学生数据
for (i = ; i < 10; i++) {
printf("请输入第%d个学生的数据:\n", i+1);
printf("学号:");
scanf("%d", &s[i].id);
printf("姓名:");
scanf("%s", s[i].name);
printf("性别:");
scanf(" %c", &s[i].gender);
printf("年龄:");
scanf("%d", &s[i].age);
printf("三门课成绩:");
scanf("%d %d %d", &s[i].score1, &s[i].score2, &s[i].score3);
// 计算总分和平均分
count(&s[i]);
}
// 输出所有数据
printf("\n学号\t姓名\t性别\t年龄\t成绩1\t成绩2\t成绩3\t总分\t平均分\n");
for (i = ; i < 10; i++) {
printf("%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\t%.2f\n", s[i].id, s[i].name, s[i].gender, s[i].age, s[i].score1, s[i].score2, s[i].score3, s[i].total, s[i].average);
}
return ;
}
阅读全文