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

admin2021-07-02  39

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

选项

答案(1)Ave+=data[i]; 或Ave=Ave+data[i]; (2)if(data[i]>Max)Max=data[i]; (3)if(data[i]
解析 该程序的功能是要求数组的平均值、最大值和最小值,求平均值时先求出数组各个元素之和,然后再去求平均值;求最大最小值可以采取逐个比较的方法求得。
    [解题思路]
    (1)观察程序可知,第一个for循环是求数组各个元素的和,逐次将每个元素值加起来,而程序当中是逐个赋值,因此第l标识处应将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”。
转载请注明原文地址:https://kaotiyun.com/show/lafp777K
0

随机试题
最新回复(0)