、以下程序段执行后sum 的值是( )。 int a[3][3]={9,8,7,6,5,4,3,2,1};

、以下程序段执行后sum 的值是( )。
int a[3][3]={9,8,7,6,5,4,3,2,1};
int i,j,sum=0;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
sum+=a[i][j];
A、15 B、20
C、26 D、34
自己dev算不出来。。。

答案是D。
i为0时,里面一层for循环会执行3次,求出a[0][0], a[0][1], a[0][2]共3个数的和,也就是9,8,7的和;
i为1时,里面一层for循环会执行2次,求出a[1][1], a[1][2]共2个数的和,也就是5,4的和;
i为2时,里面一层for循环会执行一次,求出a[2][2]共1个数的和,也就是1的和;
所以结果就是9+8+7+5+4+1=34。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-01
本程序为2重for循环结构,初始化i、j、sum均为0,外循环终止条件i<3。程序执过程如下:

1.外循环for的循环变量i=0
1.1 内for循环初值j=0, 终止条件j<3,步长1
1.1.1 sum=0+a[0][0]=0+9=9;
1.1.2 sum=9+a[0][1]=9+8=17;
1.1.3 sum=17+a[0][2]=17+7=24;
结束第1次内for循环;

2.外循环for的循环变量i=1
2.1 内for循环初值j=1, 终止条件j<3,步长1
2.1.1 sum=24+a[1][1]=24+5=29;
2.1.2 sum=29+a[1][2]=29+4=33;
结束第2次内for循环;

3.外循环for的循环变量i=2
3.1 内for循环初值j=2, 终止条件j<3,步长1
3.1.1 sum=33+a[2][2]=33+1=34;
结束第3次内for循环;

结束外for循环,sum=34。
第2个回答  2018-06-29
就主对角线上三角形的元素之和呀,9+8+7+5+4+1==34,所以选D。本回答被提问者采纳
第3个回答  2018-07-01
sum=34,选择D
第4个回答  2018-06-30
sum=9+8+7+5+4+1=34
选择答案D。
相似回答