C语言(CED)从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。

要求:
1、从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。
2、输入一些整数,按回车,然后同时按ctrl键和z键,再按回车结束输入。

本体涉及到 while(scanf("%lf",&a[i])!=EOF)的用法,所以在这里写一点自己的心得体会!

目前接触到的Printf;Scanf()等都是函数,而Scanf()是有返回值的!

 C语言中的程序在运行到“while(scanf("%lf",&a[i])!=EOF)”这一句时,先对a[i]进行赋值,根据赋值情况来得出一个数:因为例子中只对1个值进行赋值,所以赋值成功的话返回值是1,否则是0,返回值即为成功赋值的个数。然后根据这个返回值再来判定while循环语句是否继续进行。大家通过上面的了解之后就会发现,这一语句其实是循环与输入的嵌套语句:其在赋值后,进行循环条件的判断。所以,题目的代码就出来了。

#include<stdio.h>
int main()
{
    double a[1000];
    int i=0;
    double s=0;
    while(scanf("%lf",&a[i])!=EOF)
    i++;
    int m=i;
    for(i=0;i<m;i++)
        s=s+a[i];
        printf("%.2f\n",s/i);
    return 0;
}
发布了62 篇原创文章 · 获赞 93 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/GenuineMonster/article/details/86678995