庐江县郭河镇河口村:编程问题.高手进

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 13:13:24
main()
{ int i,k,a[10],p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]=a[i*i];
for(i=0;i<3;i++) k+=p[i]*2;
printf("%d\n",k);

for(i=0;i<10;i++) a[i]=i;后,a的值为:
0,1,2,3,4,5,6,7,8,9;

for(i=0;i<3;i++) p[i]=a[i*i];后,p的值为:
0,1,4;

for(i=0;i<3;i++) k+=p[i]*2; 是让k加上p的各元素的2倍,
所以k=5+0*2+1*2+4*2=15

真晕,早来了就好了.

2楼的有个地方错了: k+=p[i]*2的理解错误,并不是简单的“让k加上p的各元素的2倍”,因为k是变量,虽然因为数字比较巧而结果对了,但过程错了。

应为:

for(i=0;i<10;i++) a[i]=i;后,a[]={0,1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) p[i]=a[i*i];后,p[]={0,1,4};

for(i=0;i<3;i++) k+=p[i]*2 :
i=0; k=5+0*2=5;
i=1; k=5+1*2=7;
i=2; k=7+4*2=15;

∴ 输出结果是: 15