使用c语言,且条件为:如果输入即为负数那么输出结果为null代表一个学生也没有,如果输入的成绩多于二十个,那么仅计算前二十个学生的成绩
时间: 2024-03-09 07:50:54 浏览: 54
好的,以下是一个简单的 C 语言程序,用于计算学生成绩的平均值和低于平均值的学生人数和成绩。该程序假设您要统计的是某个班级的成绩,且每个学生的权重相同。
```c
#include <stdio.h>
#define MAX_NUM_OF_STUDENTS 20
int main() {
float scores[MAX_NUM_OF_STUDENTS];
float sum = 0.0, avg, count = 0;
int i;
printf("请输入学生成绩,以负数结束输入:\n");
for (i = 0; i < MAX_NUM_OF_STUDENTS; i++) {
scanf("%f", &scores[i]);
if (scores[i] < 0) {
// 输入的成绩为负数,退出循环
break;
}
sum += scores[i];
count++;
}
if (count == 0) {
// 没有输入成绩,输出 null
printf("null\n");
return 0;
}
avg = sum / count;
printf("平均分为:%.2f\n", avg);
int below_avg_count = 0;
printf("低于平均分的学生有:");
for (i = 0; i < count; i++) {
if (scores[i] < avg) {
printf("%.2f ", scores[i]);
below_avg_count++;
}
}
printf("\n低于平均分的学生人数为:%d\n", below_avg_count);
return 0;
}
```
该程序定义了一个数组 `scores` 用于存储学生的成绩,最多存储 `MAX_NUM_OF_STUDENTS` 个成绩。然后,程序使用一个 `for` 循环来读取用户输入的成绩,如果输入的成绩为负数,则退出循环。
接着,程序计算输入的成绩的平均值,并使用另一个 `for` 循环来找出低于平均分的学生人数和成绩。最后,程序输出平均分、低于平均分的学生成绩和人数。
请注意,该程序没有对用户输入的错误进行错误处理,例如输入字符而不是数字、输入过多的成绩等等。您可以根据需要添加适当的错误处理代码。
阅读全文