题目描述
从键盘输入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编辑器给我整得有点头秃,改日适应适应。