C语言5. 从键盘上输入若干个学生的成绩,当成绩小于等于0时结束输入。计算出平均成绩,并输出不及格的成绩和人数。
时间: 2024-02-21 09:02:22 浏览: 87
好的,这是一个基础的C语言编程问题,可以采用循环和条件语句来实现。以下是实现的代码:
```c
#include <stdio.h>
int main() {
float score, sum = 0;
int count = 0, failCount = 0;
printf("请输入学生成绩:\n");
while(1) {
scanf("%f", &score);
if(score <= 0) {
break;
}
sum += score;
count++;
if(score < 60) {
failCount++;
}
}
printf("平均成绩为:%.2f\n", sum / count);
printf("不及格的成绩人数为:%d\n", failCount);
return 0;
}
```
代码解释:
1. 首先定义变量 `score` 用于存储输入的成绩,`sum` 用于累加所有成绩的和,`count` 用于计算输入的成绩个数,`failCount` 用于统计不及格的成绩人数。
2. 进入循环,每次输入一个成绩,如果成绩小于等于0,则跳出循环;否则,累加成绩和、计算成绩个数以及判断是否为不及格成绩。
3. 循环结束后,计算平均成绩并输出,再输出不及格的成绩人数。
希望能够解决你的问题!
相关问题
用C语言实现 从键盘上输入若干个学生的成绩,当成绩小于等于0时结束输入。计算出平均成绩并输出,输出每个不及格的成绩和输出不及格人数。
好的,这是一个简单的 C 语言程序,实现了您的需求:
```c
#include <stdio.h>
int main() {
float score, sum = 0, average;
int count = 0, fail_count = 0;
printf("请输入学生的成绩(输入一个小于等于0的数结束输入):\n");
while (1) {
scanf("%f", &score);
if (score <= 0) {
break;
}
sum += score;
count++;
if (score < 60) {
printf("不及格成绩:%.2f\n", score);
fail_count++;
}
}
if (count == 0) {
printf("没有输入有效的成绩!\n");
return 0;
}
average = sum / count;
printf("平均成绩:%.2f\n", average);
printf("不及格人数:%d\n", fail_count);
return 0;
}
```
程序的核心思路是,使用一个 `while` 循环来不断读取用户输入的成绩,如果输入的成绩小于等于 0,则退出循环。同时,在计算平均成绩和不及格人数的过程中,也会统计不及格的成绩并输出。最终,程序会输出平均成绩和不及格人数。
用C语言实现 从键盘上输入若干个学生的成绩,当成绩小于等于0时结束输入。计算出平均成绩,并输出不及格的成绩和不及格人数。
好的,以下是使用C语言实现该功能的示例代码:
```c
#include <stdio.h>
int main() {
int count = 0, fail_count = 0, score_sum = 0;
float average_score;
int score;
printf("请输入学生成绩,输入0或负数结束:\n");
do {
scanf("%d", &score);
if (score <= 0) {
break;
}
score_sum += score;
count++;
if (score < 60) {
fail_count++;
}
} while (1);
if (count == 0) {
printf("未输入任何成绩!\n");
return 0;
}
average_score = score_sum * 1.0 / count;
printf("平均成绩为:%.2f\n", average_score);
printf("不及格的成绩有%d个,占比%.2f%%\n", fail_count, fail_count * 100.0 / count);
return 0;
}
```
以上代码使用了循环和条件判断实现了输入成绩,并计算平均成绩和不及格人数的功能。注意,该代码中使用了`break`语句来跳出循环,当输入的成绩小于等于0时,会直接跳出循环并结束输入。
阅读全文