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

admin2018-10-23  10

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序在界面上输出为:
    平均值为:29
    最大值为:112
    最小值为:-11
    注意:错误的语句在//******error******的下面。修改该语句即可。
1  #include<iostream>
2  using namespace std;
3  int main()
4  {
5    int i,AvetMin,Max;
6    int data[8]={0,112,43,78,-11,-6,7,9};
7    Ave=0;
8    for(i=0;i<8;i++)
9    //******error******
10    Ave=data
11    Ave/=8;
12    cout<<’’平均值为:’’<<Ave<<end1;
13    Max=Min=data[0];
14    for(i=0;i<8;i++)
15    {
16    //******error******
17    if(data<Max)Max=data
18    //******error******
19    if(data>Min)  Min=data
20    }
21    cout<<’’最大值为:’’,<<Max<<end1;
22    cout<<’’最小值为:’’<<Min<<end1;
23    return 0;
24  }

选项

答案(1)Ave+=data[i];或Ave=Ave+data[i]; (2)if(data[i]>Max)Max=data[i]; (3)if(data[i]<Min)Min=data[i];

解析 该程序的功能是要求数组的平均值、最大值和最小值,求平均值时先求出数组各个元素之和,然后再去求平均值;求最大最小值可以采取逐个比较的方法求得。
    (1)观察程序可知,第一个for循环是求数组各个元素的和,逐次将每个元素值加起来,而程序当中是逐个赋值,因此第1标识处应将Ave=data改成Ave+=data或Ave=Ave+data
    (2)根据题意再求数组当中元素的最大最小值,用变量Max记录最大值,Min记录最小值,在for循环中,逐次比较,如果该元素值比当前Max大,则Max取该元素值,因此第2标识处正确的应该是if(data>Max)Max=data
    (3)同样如果数组该元素值比Min小,则Min取该元素值。因此,两个if中条件判断错误,第3标识处“if(data>Min)Min=data”改成“if(data<Min)Min=data”。
转载请注明原文地址:https://kaotiyun.com/show/8wAp777K
0

最新回复(0)