使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序的执行结果为: 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1

admin2017-03-22  25

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序的执行结果为:
    1  2  3  4  5  4  3  2  1
       1  2  3  4  3  2  1
          1  2  3  2  1
             1  2  1
                1
    注意:错误的语句在//********error********的下面,修改该语句即可。
#include
#include
Void main()
{
    int i,j,k;
    for(i=5;i>=1;i--)
    {
    //********error********
    for(j=1;j<=i;j++)
    cout<<"    ";
    //********error********
    for(k=1;k>=i;k++)
    cout<    //********error********
    for(k=i-1;k>0;k++)
    cout<    cout<    }
}

选项

答案(1)for(j=1 ; j<=5-i;j++) (2)for(k=1;k<=i;k++) (3)for(k=i-1;k>0;k--)

解析 (1)分析可知,两个循环负责输出两半数值,刚开始还有空格,而且空格书逐行增加,因此也必须用循环来实现输出空格,即内层第一个小循环负责输出空格,因此for(j=1;j<=i;j++)应改为for(j=1;j<=5-i;j++)。
    (2)第二个小循环负责输出左半部分数值,外层大循环i从5变到1,而每行前半部分数值的最大值在减小,因此第二个循环的循环变量j与i之和满足一定关系,即j<=i,第2个标识处for(k=1;k>=i;k++)应改为for(k=1:k<=i;k++)。
    (3)第三个小循环负责输出右半部分数值,数值从大变到小,因此循环变量k的初值为i-1,k逐次变小,即第3标识处for(k=i-1;k>0;k++)应改为for(k=i-1;k>0;k--)。
转载请注明原文地址:https://jikaoti.com/ti/pHt0FFFM
0

最新回复(0)