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