题目
输入若干同学的成绩,计算平均成绩,输入的成绩为负数或大于100时表示结束输入。
输入若干同学的成绩,计算平均成绩,输入的成绩为负数或大于100时表示结束输入。
题目解答
答案
使用一个while循环进行输入,如果输入的成绩小于0或大于100,就结束输入。在每次输入时,将成绩累加到sum中,并将count计数器加1,用于计算平均成绩。最后判断count是否大于0,如果大于0就输出平均成绩,否则输出没有输入成绩的提示信息。
代码为:
#include <stdio.h>
int main() {
int count = 0;
float sum = 0, grade = 0;
printf("请输入成绩,以负数或大于100的数结束输入:\n");
while (1) {
scanf("%f", &grade);
if (grade < 0 || grade > 100) {
break;
}
sum += grade;
count++;
}
if (count > 0) {
printf("平均成绩为:%.2f\n", sum / count);
} else {
printf("没有输入成绩。\n");
}
return 0;
}
解析
步骤 1:初始化变量
- 初始化变量 `count` 为 0,用于记录输入的成绩数量。
- 初始化变量 `sum` 为 0,用于累加输入的成绩。
- 初始化变量 `grade` 为 0,用于存储每次输入的成绩。
步骤 2:提示用户输入成绩
- 使用 `printf` 函数提示用户输入成绩,输入负数或大于100的数表示结束输入。
步骤 3:使用 while 循环进行输入
- 使用 `while (1)` 创建一个无限循环,用于持续输入成绩。
- 使用 `scanf` 函数读取用户输入的成绩,并存储在变量 `grade` 中。
- 判断输入的成绩是否小于0或大于100,如果是,则使用 `break` 语句结束循环。
- 如果输入的成绩在有效范围内(0到100之间),则将成绩累加到 `sum` 中,并将 `count` 计数器加1。
步骤 4:计算并输出平均成绩
- 判断 `count` 是否大于0,如果大于0,则计算平均成绩 `sum / count`,并使用 `printf` 函数输出平均成绩。
- 如果 `count` 等于0,说明没有输入有效的成绩,使用 `printf` 函数输出提示信息“没有输入成绩”。
- 初始化变量 `count` 为 0,用于记录输入的成绩数量。
- 初始化变量 `sum` 为 0,用于累加输入的成绩。
- 初始化变量 `grade` 为 0,用于存储每次输入的成绩。
步骤 2:提示用户输入成绩
- 使用 `printf` 函数提示用户输入成绩,输入负数或大于100的数表示结束输入。
步骤 3:使用 while 循环进行输入
- 使用 `while (1)` 创建一个无限循环,用于持续输入成绩。
- 使用 `scanf` 函数读取用户输入的成绩,并存储在变量 `grade` 中。
- 判断输入的成绩是否小于0或大于100,如果是,则使用 `break` 语句结束循环。
- 如果输入的成绩在有效范围内(0到100之间),则将成绩累加到 `sum` 中,并将 `count` 计数器加1。
步骤 4:计算并输出平均成绩
- 判断 `count` 是否大于0,如果大于0,则计算平均成绩 `sum / count`,并使用 `printf` 函数输出平均成绩。
- 如果 `count` 等于0,说明没有输入有效的成绩,使用 `printf` 函数输出提示信息“没有输入成绩”。