C2_02.c 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. #include <stdio.h>
  2. double fun ( int x[])
  3. {
  4. /************found************/
  5. double sum = 0.0; /* 将 sum 改为 double 类型,以便保存小数 */
  6. int c=0, i=0;
  7. /* 遍历数组直到遇到0为止,累加所有正整数并统计其个数 */
  8. while (x[i] != 0)
  9. { if (x[i] > 0) {
  10. sum += x[i]; c++; }
  11. i++;
  12. }
  13. /************found************/
  14. sum /= c; /* 将反斜杠改为除号 / */
  15. /* 计算平均值:将总和除以正整数的个数 */
  16. return sum;
  17. }
  18. int main( )
  19. { int x[1000]; int i=0;
  20. printf( "\nPlease enter some data (end with 0): " );
  21. do
  22. { scanf("%d", &x[i]); }
  23. while (x[i++] != 0);
  24. printf("%f\n", fun ( x ));
  25. }
  26. // 程序修改题(二)
  27. // 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。
  28. // 例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。