以下程序按下面指定的数据给x 数组的下三角置数,并按如下形式输出,请填空。
4
3 7
2 6 9
1 5 8 10
#include <stdio.h>
main()
{ int x[4][4],n=0,i,j;
for(j=0;j<4;j++)
for(i=3;i>=j; __【12】__ ) {n++;x[i][j]= __【13】__ ;}
for(i=0;i<4;i++)
{ for(j=0;j<=i;j++) printf("%3d",x[i][j]);
printf("\n");
}
}
A. 【12】i++【13】n
B. 【12】i++【13】n-1
C. 【12】i--【13】n
D. 【12】i--【13】n-1
答案:C
解析:观察题中的三角形,可以分析出,三角形的赋值规则是从左边开始,将每一列从下到上自增赋值。然后往右一列,再继续从下往上自增赋值。每往右一列,上面的行数就少1。根据这个特点,我们来阅读程序。不难看出,j循环从0到3,便是从左到右,表示列数。i循环从3到j,是从下到上,表示行数。由于是i是从大到小进行循环,所以自增表达式【12】应为i--。在循环体中,我们看到每次循环都会执行n++,所以x[i][j]中存储的就应该是n的值,因此【13】应为n。