一个班有n名学生,每个学生的数据包括学号,姓名,性别,2门课的成绩,现在用键盘输入这些数据,要求用C语言编写程序,1,输出每个学生两门课的平均分,2,输出每门课的全班平均分
时间: 2023-05-15 10:06:40 浏览: 125
可以使用结构体来存储每个学生的数据,然后使用循环来输入每个学生的信息,计算每个学生两门课的平均分和每门课的总分,最后输出结果即可。以下是示例代码:
```c
#include <stdio.h>
struct student {
int id;
char name[20];
char gender[10];
float score1;
float score2;
};
int main() {
int n;
printf("请输入学生人数:");
scanf("%d", &n);
struct student stu[n];
float sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("性别:");
scanf("%s", stu[i].gender);
printf("第一门课成绩:");
scanf("%f", &stu[i].score1);
printf("第二门课成绩:");
scanf("%f", &stu[i].score2);
sum1 += stu[i].score1;
sum2 += stu[i].score2;
}
float avg1 = sum1 / n;
float avg2 = sum2 / n;
printf("每个学生两门课的平均分如下:\n");
for (int i = 0; i < n; i++) {
printf("%s的平均分为%.2f\n", stu[i].name, (stu[i].score1 + stu[i].score2) / 2);
}
printf("每门课的全班平均分如下:\n");
printf("第一门课的平均分为%.2f\n", avg1);
printf("第二门课的平均分为%.2f\n", avg2);
return 0;
}
```
如果输入n为3,然后输入以下数据:
```
1 张三 男 80 90
2 李四 女 70 85
3 王五 男 90 95
```
则输出结果为:
```
每个学生两门课的平均分如下:
张三的平均分为85.00
李四的平均分为77.50
王五的平均分为92.50
每门课的全班平均分如下:
第一门课的平均分为80.00
第二门课的平均分为90.00
```
阅读全文