用C语言
时间: 2024-02-09 07:10:14 浏览: 83
好的,这是一个关于生成绩统计的C语言代码:
```c
#include <stdio.h>
int main() {
float scores[30]; // 定义一个数组用于存储学生成绩
int i, fail_num = 0, above_average_num = 0;
float sum = 0, average, fail_list[30], above_average_list[30], score_count[11] = {0};
// 循环输入学生成绩
for (i = 0; i < 30; i++) {
printf("请输入学生成绩(输入负数结束输入):");
scanf("%f", &scores[i]);
if (scores[i] < 0)
break;
sum += scores[i];
}
int n = i;
// 统计不及格人数及名单
for (i = 0; i < n; i++) {
if (scores[i] < 60) {
fail_num++;
fail_list[fail_num - 1] = scores[i];
}
}
printf("不及格人数:%d\n", fail_num);
printf("不及格学生名单:");
for (i = 0; i < fail_num; i++) {
printf("%.1f ", fail_list[i]);
}
printf("\n");
// 统计成绩在平均分及平均分之上的学生人数及名单
average = sum / n;
for (i = 0; i < n; i++) {
if (scores[i] >= average) {
above_average_num++;
above_average_list[above_average_num - 1] = scores[i];
}
}
printf("平均分:%.1f\n", average);
printf("成绩在平均分及平均分之上的学生人数:%d\n", above_average_num);
printf("这些学生的名单:");
for (i = 0; i < above_average_num; i++) {
printf("%.1f ", above_average_list[i]);
}
printf("\n");
// 统计各分数段的学生人数及所占的百分比
for (i = 0; i < n; i++) {
int index = (int)(scores[i] / 10);
score_count[index]++;
}
printf("各分数段学生人数及所占百分比:\n");
for (i = 0; i < 11; i++) {
if (i == 10) {
printf("100分:%d %.2f%%\n", (int)score_count[i], score_count[i] / n * 100);
} else {
printf("%d ~ %d分:%d %.2f%%\n", i * 10, i * 10 + 9, (int)score_count[i], score_count[i] / n * 100);
}
}
return 0;
}
```
这个程序首先定义一个数组用于存储学生成绩,然后使用循环语句进行统计和打印。最终输出不及格人数及名单、成绩在平均分及平均分之上的学生人数及名单、各分数段的学生人数及所占的百分比。
阅读全文