C语言,已知五个学生四门课的成绩,要求求出每个学生的平均成绩,然后输出四门课的成绩及平均成绩
时间: 2023-11-07 12:04:45 浏览: 38
好的,这是一个比较简单的C语言问题。以下是代码实现:
```c
#include <stdio.h>
int main() {
float scores[5][4]; // 5个学生,4门课程
float sum, average;
// 读取每个学生的成绩
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的四门课成绩,用空格隔开:", i+1);
scanf("%f %f %f %f", &scores[i][0], &scores[i][1], &scores[i][2], &scores[i][3]);
}
// 输出每个学生的成绩及平均成绩
for (int i = 0; i < 5; i++) {
sum = scores[i][0] + scores[i][1] + scores[i][2] + scores[i][3];
average = sum / 4;
printf("第%d个学生的四门课成绩为:%.1f %.1f %.1f %.1f,平均成绩为:%.1f\n",
i+1, scores[i][0], scores[i][1], scores[i][2], scores[i][3], average);
}
return 0;
}
```
希望这个代码可以帮助到你!
相关问题
C语言,已知五个学生四门课的成绩,要求求出每个学生的平均成绩,然后输出四门课的成绩及平均成绩,然后对平均成绩从高到低将各学生的成绩记录排序
在C语言中,我们可以使用结构体(struct)来存储每个学生的姓名和成绩,数组来存放所有学生的信息,然后遍历数组计算平均成绩,并将结果存储在一个单独的数组或链表中按平均成绩排序。以下是简单的步骤:
1. 定义一个包含姓名和四门课成绩的结构体:
```c
typedef struct {
char name[50];
int score[4]; // 假设每门课程用整数表示分数
} Student;
```
2. 创建数组来存储所有学生的数据:
```c
Student students[5]; // 5个学生
```
3. 输入每个学生的成绩并计算平均成绩:
```c
for (int i = 0; i < 5; i++) {
printf("请输入学生 %d 的信息(姓名,四门课的成绩,分别输入逗号分隔):", i + 1);
scanf("%s", students[i].name); // 输入姓名
for (int j = 0; j < 4; j++) {
scanf("%d", &students[i].score[j]); // 输入四门课成绩
}
float average = (float)sum(students[i].score) / 4; // 计算平均成绩,假设sum函数用于求总和
students[i].average = average;
}
```
4. 按照平均成绩降序排序:
```c
// 使用qsort或其他排序函数,这里简化了排序过程
// 先定义一个比较函数,根据平均成绩降序排列
int compare(const void *a, const void *b) {
return (*(const Student*)b)- (*(const Student*)a)->average;
}
// 排序students数组
qsort(students, 5, sizeof(Student), compare);
```
5. 输出每个学生的四门课程成绩和平均成绩:
```c
for (int i = 0; i < 5; i++) {
printf("学生:%s\n", students[i].name);
for (int j = 0; j < 4; j++) {
printf("第%d门课程成绩:%d\n", j+1, students[i].score[j]);
}
printf("平均成绩:%.2f\n", students[i].average);
}
```
用c语言解决已知10个学生的成绩求平均分。 有3个学生四门课成绩,求每个学生的平均分 每门课的平均分。
可以使用如下C语言代码来解决已知10个学生的成绩求平均分的问题:
```c
#include <stdio.h>
int main() {
int i, j;
float grade[10], average_student = 0, average_course[4] = {0};
// grade是存储学生成绩的数组,average_student和average_course分别是平均学生成绩和平均每门课程的成绩
// 其中平均每门课程的成绩用一个长度为4的数组来表示,分别存储每门课程的总分数
// 读入10个学生的成绩
for (i = 0; i < 10; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", &grade[i]);
average_student += grade[i]; // 累加每个学生的成绩,后面再求平均数
}
// 计算每个学生的平均分
average_student /= 10;
printf("平均每个学生的成绩为:%.1f\n", average_student);
// 读入3个学生的四门课成绩
for (i = 0; i < 3; i++) {
float sum = 0, student_average = 0;
printf("请输入第%d个学生的四门课成绩:", i + 1);
for (j = 0; j < 4; j++) {
float score;
scanf("%f", &score);
sum += score; // 累加每个学生每门课的成绩,后面再求平均数
}
student_average = sum / 4; // 求出每个学生的平均分
printf("第%d个学生的平均成绩为:%.1f\n", i + 1, student_average);
// 累加每门课的总分数
for (j = 0; j < 4; j++) {
average_course[j] += (sum / 4);
}
}
// 计算每门课程的平均分
printf("每门课程的平均成绩为:\n");
for (i = 0; i < 4; i++) {
printf("第%d门课的平均成绩为:%.1f\n", i + 1, average_course[i] / 3);
}
return 0;
}
```
在输出平均每个学生的成绩之后,读入3个学生的四门课成绩,对每个学生的成绩进行处理,同时累加每门课程的总分数。最后输出每门课程的平均成绩,注意这里除以的是3,而不是10,因为总共只有3个学生。
阅读全文