这两道C++程序题怎么做。 求大神详细解答。

2025-05-09 18:31:46
推荐回答(3个)
回答1:

1)
s=0;
i=1;[i=1]i<=5成立,开始循环:s=i+s*i;[s=1+0*1=1]
i++;[i=2]i<=5成立,继续循环:s=i+s*i;[s=2+1*2=4]
i++;[i=3]i<=5成立,继续循环:s=i+s*i;[s=3+4*3=15]
i++;[i=4]i<=5成立,继续循环:s=i+s*i;[s=4+15*4=64]
i++;[i=5]i<=5成立,继续循环:s=i+s*i;[s=5+64*5=325]
i++;[i=6]i<=5不成立,结束循环
输出:s=325换行
2)

p=a;[p指向a[0]],pp++;[p指向a[1]],pp++;[p指向a[2]],pp++;[p指向a[3]],pp++;[p指向a[4]],p输出换行,总输出为:3,5,7,9,换行

回答2:

1。 每次循环后的结果你记清楚就行了。 第一次 s= 1 + 0 * 1 = 1; 第二次 s = 2 + 1 * 2.= 4。。3次 s = 3 + 3* 4。。以此类推
2. (指针的加减法) 总共4次循环(p是 a+0 ,a+3之间)。输出前4个数。 3,5,7,9

回答3:

第1题
for循环运行5遍
s=1+1*0
输出:s=1;

s=2+1*2
输出:s=4;

s=3+4*3
输出:s=15;

s=4+15*4
输出:s=64;

s=5+64*5
输出:s=325;

运行结果:
s=1
s=4;
s=15;
s=64;
s=325;

第2题
int *p=a p指针的值(p代表的地址)是a
int *p=&a 表示p指针指向的是a的地址,p的值是a的地址