c语言循环语句
main() {int,x=,a[10],b[3]; for(i=0;i<10;i++) a[i]=i; for(i=2;i>=o;i--) b[i]=a[i*(i+1)]; for(i=0;i<3;i++) x+=b[i]*2 printf("%d\n",x); 帮我算一下这个程序的输出是多少!谢谢!
补充:X=10 我露掉了!!!要解释一下!!我不怎么懂!!
main() {int,x=,a[10],b[3]; for(i=0;i<10;i++) a[i]=i; for(i=2;i>=o;i--) b[i]=a[i*(i+1)]; for(i=0;i<3;i++) x+=b[i]*2 printf("%d\n",x); 帮我算一下这个程序的输出是多少!谢谢!
补充:X=10 我露掉了!!!要解释一下!!我不怎么懂!!
答案:恩。。。你这个程序都不对啊。是不是打错了
我大概调整了下程序,变成:
int x=0, aa[10],b[3], i = 0;
for(i=0;i<10;i++) aa[i]=i;
for(i=2;i>=0;i--) b[i]=aa[i*(i+1)];
for(i=0;i<3;i++) x+=b[i]*2;
printf("%d\n",x);
执行结果是16
其他:运行不了,for(i=2;i>=o;i--)应该是for(i=2;i>=0;i--)
int,x=应该是nt,x=0吧?
如果程序是这样的话
int x=0,i,a[10],b[3];
for(i=0;i<10;i++) a[i]=i;
for(i=2;i>=0;i--) b[i]=a[i*(i+1)];
for(i=0;i<3;i++) x+=b[i]*2;
输出16 a[]={0,1,2,3,4,5,6,7,8,9}
b[]={0,2,6}
x=0*2+2*2+6*2=16
应该是这个,但是程序里没有给x赋初值呀,那个x=后边没有写呀。
x=初值+16 1 程序运行结果:
16
2 正确的程序及分析如下:
#include <stdio.h>
void main()
{int x=0,a[10],b[3],i;
for(i=0;i<10;i++) a[i]=i; //a[0]=0,a[1]=1,...,a[9]=9
for(i=2;i>=0;i--) b[i]=a[i*(i+1)];//b[0]=0,b[1]=2,b[2]=6
for(i=0;i<3;i++) x+=b[i]*2;//x=2*(b[0]+b[1]+b[2])=2*8=16
printf("%d\n",x);
} 第一个循环,将a[0]至a[9]分别赋值为0到9
第二循环:b[0]=a[0]=0,b[1]=a[2]=2,b[2]=a[6]=6;
第三个循环:x+=b[0]*2+b[1]*2+b[2]*2=16
所以x=16~~~ a【0】=0-------------a【9】=9
b【2】=a【2*3】=6 b【1】=a【1*2】=2 b【0】=0
x=10+0+4+12=26
上一个:关于C语言的基础编程,一个提问。NO.8
下一个:C语言综合作业:遍一个通讯录管理程序。通讯录应包含以下内容:序号,姓名,电话,地址等内容。具体要求如