在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的平均值(不包括0)。 例如:数组中元素的值依次为43,47,-21,53,-8,12, 0,则程序的运行结果为-2

admin2009-02-15  37

问题 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的平均值(不包括0)。
   例如:数组中元素的值依次为43,47,-21,53,-8,12, 0,则程序的运行结果为-25.333333。
   请改正程序中的错误,使它能得到正确结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
     #include  <conio.h>
     #include  <stdio.h>
     double  fun(int  x[])
     {
     double sum=0.0;
     int c=0,i=0;
     /*************found*************/
     while(x==0)
       {
         if(x<0)
          {
            sum=sum+x
            c++;
          }
         i++;
        }
     /************found***********/
     sum=sum\c;
     return  sum;
     }
     main()
     {
     int x[1000];
     int  i=0;
     clrscr();
     printf("\nPlease enter some data(end with
            0)  :”);
     do
     {
     scanf("%d",&x);
     }while(x[i++]!=0);
     printf("%f\n",fun(x));
     }

选项

答案(1) 错误:while(x[i]==0) 正确:while(x[i]!=0) (2) 错误:sum=sum\c; 正确:sum=sum/c;

解析 错误1:此处考查的是对循环条件的理解,当被判断的数组元素为0时,说明这是数组的最后一个元素,此时要跳出循环。错误2:C语言中的除法运算符是“/”,而不是“、”。
转载请注明原文地址:https://jikaoti.com/ti/fxkiFFFM
0

最新回复(0)