使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序的输出结果为 平均值为29 最大值为112 最小值为-11 注意:错误的语句在//* * * * * *

admin2013-10-15  7

问题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序的输出结果为
    平均值为29
    最大值为112
    最小值为-11
    注意:错误的语句在//* * * * * * * * error* * * * * * * *的下面,修改该语句即可。
    试题程序:
#includeusing namespace std;
int main()
{
int i,Ave,Min,Maxl
int data[8]={100,21,-73,86,14,0,-21,1);
Ave=0;
for(i=0;i<8;i++)
//* * * * * * * * error* * * * * * * *
Ave=dataEi3;
Ave/=8;
cout<<"平均值为:"<Max=Min=data[0];
for(i=0;i<8;i++)
{
//* * * * * * * * error* * * * * * * *
  if(data<Max)Max=data
//* * * * * * * * error* * * * * * * *
  if(data>Min)Min=data
  }
  eout<<"最大值为:"<  cout<<“最小值为:”<  return 0;
  }

选项

答案(1)应改为“Ave+=data[i];”或“Ave=Ave+data[i];”。 (2)应改为“if(data[i])Max)Max=data[i];”。 (3)应改为“if(data[i](Min)Min=dataEi];”。

解析 本题第一个for循环是求数组各个元素的和,逐次将每个元素值加起来,而程序当中是逐个赋值的,因此在第1标识处应将“Ave data”改成“Ave+=data”或“kve=Ave+data”。
    第2处根据题意再求数组当中元素的最大和最小值,用变量Max记录最大值,Min记录最小值,在for循环中,逐次比较,如果该元素值比当前Max大,则Max取该元素值,因此第2标识处正确的语句应该是“if(data>Max)Max=data”。
    如果数组中该元素值比Min小,则Min取该元素值。因此,两个if语句中的条件判断错误,将第3标识处的语句“if(data>Min)Min=data;”改成“if(data;”。
转载请注明原文地址:https://kaotiyun.com/show/boBD777K
0

最新回复(0)