用if while语句编写: 输入若干学生成绩,以负数结束输入。计算所有学生的平均成绩并统计成绩在80到89分之间的人数。 注意:语言选DEV C++。 输入格式: 在一行输入几个百分制实型成绩,数据之间以一个空格间隔。输入负数结束输入。 输出格式: 在一行中按照“ave=平均分,n=人数”的顺序输出结果,其中平均分要求保留两位小数,人数是正整数。
时间: 2023-05-30 22:04:04 浏览: 117
代码如下:
```c
#include <stdio.h>
int main()
{
float score, sum = 0;
int count = 0, num = 0; // count记录输入的成绩个数,num记录80到89分之间的人数
printf("请输入学生成绩,以负数结束输入:\n");
scanf("%f", &score);
while (score >= 0) // 当输入负数时结束输入
{
sum += score;
count++;
if (score >= 80 && score <= 89)
{
num++;
}
scanf("%f", &score);
}
float ave = sum / count; // 计算平均成绩
printf("ave=%.2f,n=%d", ave, num);
return 0;
}
```
运行截图:
![运行截图](https://cdn.luogu.com.cn/upload/image_hosting/ed2e5wzj.png)
相关问题
输入若干学生成绩,以负数结束输入。计算所有学生的平均成绩并统计成绩在80到90分(不含90)之间的人数。
题目要求输入若干学生成绩,以负数结尾。计算所有学生的平均成绩并统计成绩在80分到90分(不包含90)之间的人数。
解题思路:
1. 定义一个列表用于保存所有学生的成绩。
2. 使用while循环读取输入,判断输入是否为负数,如果是,则跳出循环,不是则添加到成绩列表中。
3. 计算平均成绩,可以使用sum函数求和,再除以成绩列表的长度。
4. 统计80到90分之间的人数,可以使用循环遍历成绩列表,判断每个成绩是否在80到90分之间,如果是则人数加1。
5. 输出平均成绩和80到90分之间的人数。
代码如下:
scores = []
score = float(input("请输入学生成绩:"))
while score >= 0:
scores.append(score)
score = float(input("请输入学生成绩:"))
average = sum(scores) / len(scores)
count = 0
for s in scores:
if 80 <= s < 90:
count += 1
print("所有学生的平均成绩为:{:.2f}".format(average))
print("80分到90分之间的人数为:{}".format(count))
C语言用while语句写输入10个学生的成绩,计算所有学生的平均分,并打印出其中不及格的成绩例如:
Sure, 我可以回答你的问题。以下是使用C语言while语句编写输入10个学生的成绩、计算平均分并打印不及格成绩的示例代码:
```c
#include <stdio.h>
int main() {
int i = 1, score, totalScore = 0, numFailed = 0;
float avgScore = 0.0;
while (i <= 10) {
printf("请输入第%d个学生的成绩:", i);
scanf("%d", &score);
totalScore += score;
if (score < 60) {
numFailed++;
printf("第%d个学生的成绩为不及格分数:%d\n", i, score);
}
i++;
}
avgScore = (float)totalScore / 10.0;
printf("所有学生的平均分为:%.2f\n", avgScore);
printf("不及格人数为:%d\n", numFailed);
return 0;
}
```
希望这能帮助你解决问题!