(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈
要求:
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;
}