接收一些用户的分数,输入的是999则退出程序运行,如果输入的是大于等于0小于等于100的分数,认为是有效分数,计算并输出有效分数总和及平均值
#include <stdio.h>
int main()
{
int n=0,d;
float s=0;
do
{
if(scanf("%d",&d)!=1)
break;
if(d>=0&&d<=100)
{
n++;
s+=d;
}
}while(d!=999);
printf("和:%.1f,平均值:%.1f\n",s,(n?s/n:0));
return 0;
}
运行结果截图:
追问想再问一下 这样写对吗 如果要用双精度浮点数的话
错误很多
追问初学,不好意思;;
想问一下if(scanf("%lf",&d)!=1)、(n?s/n:0),这两个是什么意思
如果题目要求是输入一些double值和输出两个double数,一个是总成绩一个是平均成绩,这样应该怎么修改呢?
可以讲一下思路吗?感谢解答!