题目描述
从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)。
输入描述:
一行,连续输入5个整数(范围0~100),用空格分隔。
输出描述:
一行,输出5个数的平均数(保留一位小数)。
-----------------------------------分隔线-----------------------------------
一开始的想法就是【定5个数,挨个输入挨个加,再平均一下】
#include <stdio.h>
int main()
{
int a, b, c, d, e;
float res;
scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);
res = float(a+b+c+d+e)/5;
printf("%.1f", res);
return 0;
} 写的过程中觉得一行代码太长了好累,而且本来题中有说输入的整数范围在0~100,我觉得此处可能需要加个判断语句,但把abcde挨个写出来实在太费劲了也就没写。后来想到或许可以用数组,弄个for循环,输入一个验一个,方便许多。
然后就改了改:
#include <stdio.h>
int main()
{
int arr[5];
int sum=0, i;
for(i=0;i<5;i++)
{
scanf("%d", &arr[i]);
if(arr[i]<0||arr[i]>100)
return false;
sum+=arr[i];
}
printf("%.1f", sum/5.0);
return 0;
} PS:第一篇题解,心血来潮,本来只是执着于加入判断,没成想改进后运行时间也减了好多,还挺好,就想着记录一下罢。 PS+:markdown编辑器给我整得有点头秃,改日适应适应。

京公网安备 11010502036488号