c语言依次输入1个学生的7门课程的成绩,统计并输出该学生的总成绩和平均分
时间: 2024-04-17 15:25:37 浏览: 11
好的,下面是使用C语言实现的代码示例:
```c
#include <stdio.h>
int main() {
int scores[7];
int total = 0;
printf("请输入学生的7门课程的成绩(用空格分隔):\n");
for (int i = 0; i < 7; i++) {
scanf("%d", &scores[i]);
total += scores[i];
}
float average = (float)total / 7;
printf("该学生的总成绩为:%d\n", total);
printf("该学生的平均分为:%.2f\n", average);
return 0;
}
```
你可以将上述代码复制到C语言的编译器中运行,然后依次输入学生的7门课程的成绩,即可统计并输出该学生的总成绩和平均分。希望对你有帮助!
相关问题
用C语言设计一个程序统计一个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生成绩,在统计每门课程的全班总分,平均分及每个考生的总分和平均分。
好的,我来给你写一个C语言程序,满足你的需求:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 学生人数
printf("请输入学生人数:");
scanf("%d", &n);
int scores[n][3]; // 成绩数组
int i, j;
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
for (j = 0; j < 3; j++) {
scanf("%d", &scores[i][j]);
}
}
// 统计每门课程的总分和平均分
int total1 = 0, total2 = 0, total3 = 0;
for (i = 0; i < n; i++) {
total1 += scores[i][0];
total2 += scores[i][1];
total3 += scores[i][2];
}
float average1 = (float)total1 / n;
float average2 = (float)total2 / n;
float average3 = (float)total3 / n;
printf("第一门课程的总分为:%d,平均分为:%.2f\n", total1, average1);
printf("第二门课程的总分为:%d,平均分为:%.2f\n", total2, average2);
printf("第三门课程的总分为:%d,平均分为:%.2f\n", total3, average3);
// 统计每个考生的总分和平均分
for (i = 0; i < n; i++) {
int total = scores[i][0] + scores[i][1] + scores[i][2];
float average = (float)total / 3;
printf("第%d个学生的总分为:%d,平均分为:%.2f\n", i + 1, total, average);
}
return 0;
}
```
这个程序使用了二维数组来存储每个学生的成绩,然后按照输入顺序依次统计每门课程的总分和平均分,以及每个考生的总分和平均分。注意,由于涉及到浮点数的除法运算,需要将分子或分母强制转换为浮点数类型,以免出现整数除整数的情况。
C语言 设计一个程序统计某个班全体学生3门课的考试成绩。要求能输入学生人数,并按编号从小到大的顺序依次输入学生的成绩,再统计出每门课程的全班总分、平均分及每个考生所有考试的总分和平均分。
下面是一个基于 C 语言的程序,实现了统计某个班全体学生3门课的考试成绩,包括输入学生人数、按编号从小到大的顺序依次输入学生的成绩、统计每门课程的全班总分、平均分及每个考生所有考试的总分和平均分的功能。
```c
#include <stdio.h>
#define MAX_STUDENT_NUM 100
int main() {
int n, i, j;
float score[MAX_STUDENT_NUM][3]; // 每个学生的三门成绩
float sum[3] = {0}; // 每门课程的总分
float avg[3] = {0}; // 每门课程的平均分
float sum_all[MAX_STUDENT_NUM] = {0}; // 每个学生所有成绩的总分
float avg_all[MAX_STUDENT_NUM] = {0}; // 每个学生所有成绩的平均分
printf("请输入学生人数:\n");
scanf("%d", &n);
if (n > MAX_STUDENT_NUM) {
printf("学生人数不能超过 %d\n", MAX_STUDENT_NUM);
return 1;
}
printf("请依次输入每个学生的三门成绩:\n");
for (i = 0; i < n; i++) {
printf("第 %d 个学生:", i+1);
for (j = 0; j < 3; j++) {
scanf("%f", &score[i][j]);
sum[j] += score[i][j];
sum_all[i] += score[i][j];
}
avg_all[i] = sum_all[i] / 3;
}
printf("每门课程的总分为:%.2f %.2f %.2f\n", sum[0], sum[1], sum[2]);
printf("每门课程的平均分为:%.2f %.2f %.2f\n", sum[0]/n, sum[1]/n, sum[2]/n);
printf("每个学生所有考试的总分和平均分为:\n");
for (i = 0; i < n; i++) {
printf("第 %d 个学生:%.2f %.2f\n", i+1, sum_all[i], avg_all[i]);
}
return 0;
}
```
程序中,首先定义了一个最大学生人数的常量 `MAX_STUDENT_NUM`,以防止输入超出程序处理能力的学生人数。然后,定义了一个二维数组 `score`,用于存储每个学生的三门成绩,以及三个一维数组 `sum`、`avg`和 `sum_all`,用于存储每门课程的总分、平均分、每个学生所有成绩的总分和平均分。
程序运行后,先要求输入学生人数,然后依次输入每个学生的三门成绩,并按编号从小到大的顺序保存到 `score` 数组中。在输入的过程中,同时计算每门课程的总分和每个学生所有成绩的总分,并保存到 `sum` 数组和 `sum_all` 数组中。最后,计算每门课程的平均分和每个学生所有成绩的平均分,并输出结果。
注意,程序中使用了 `scanf()` 函数来接受用户的输入,通过 `%f` 格式符来读取浮点数。同时,为了防止输入超出 `score` 数组的范围,程序在接受学生人数的输入时进行了判断。