C语言,麻烦写下过程,为啥选b? 10
单选(2.5分)执行下面程序,输出结果是(B)#include<stdio.h>voidmain(){inti,j=3,a[]={1,2,3,4,5,6,7,8,9,10...
单选(2.5分)执行下面程序,输出结果是( B )
#include <stdio.h>
void main()
{
int i,j=3,a[]={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<5;i++)
a[i]=i*(i+1);
for(i=0;i<4;i++)
j+=a[i]*3;
printf("%d",j);
}
A.33 B.63 C.123 D.48 展开
#include <stdio.h>
void main()
{
int i,j=3,a[]={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<5;i++)
a[i]=i*(i+1);
for(i=0;i<4;i++)
j+=a[i]*3;
printf("%d",j);
}
A.33 B.63 C.123 D.48 展开
7个回答
展开全部
这里需要注意两个for循环是分开的,第一个for循环执行完后才执行第二个for循环,第一个for循环结束后,再j=j+a[i]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个for循环,将a数组赋值,前5个元素(下标0~4)元素的值为其(下标和下标+1的乘积), a[0]=0*1, a[1]=1*2, a[2]=2*3, a[3]=3*4, a[4]=4*5 因此a数组在第一个循环结束后的值为:
{0,2,6,12,20, 6,7,8,9,10}
第二个循环,将a数组前4个数(下标0~3)的三倍求和,再加给j(j的初值为3,也就是再加3),所以j=3+0*3+2*3+6*3+12*3 = 63
{0,2,6,12,20, 6,7,8,9,10}
第二个循环,将a数组前4个数(下标0~3)的三倍求和,再加给j(j的初值为3,也就是再加3),所以j=3+0*3+2*3+6*3+12*3 = 63
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拆开来看,一共两个for循环。注意,没有花括号不是嵌套循环。
第一个for:将数组a前五个赋值为:0,2,6,12,20;
第二个for:将数组a前四个值*3,并以初值j=3赋值求和。
(3+0*3)+(2*3)+(6*3)+(12*3)=63
第一个for:将数组a前五个赋值为:0,2,6,12,20;
第二个for:将数组a前四个值*3,并以初值j=3赋值求和。
(3+0*3)+(2*3)+(6*3)+(12*3)=63
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行第一个for循环
i=0,a[0]=0
i=1,a[1]=2
i=2,a[2]=6
i=3,a[3]=12
i=4,a[4]=20
执行第二个for循环
i=0,j=j+a[0]*3=3+0*3=3
i=1,j=j+a[1]*3=3+2*3=9
i=2,j=j+a[2]*3=9+6*3=27
i=3,j=j+a[3]*3=27+12*3=63
随意最终结果j=63
i=0,a[0]=0
i=1,a[1]=2
i=2,a[2]=6
i=3,a[3]=12
i=4,a[4]=20
执行第二个for循环
i=0,j=j+a[0]*3=3+0*3=3
i=1,j=j+a[1]*3=3+2*3=9
i=2,j=j+a[2]*3=9+6*3=27
i=3,j=j+a[3]*3=27+12*3=63
随意最终结果j=63
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询