c语言二级阅读题求解

求详解~~!!~~

第1个回答  2013-10-09
p=c[3]=4,q=1
1) i=2,t=c[2]*4+1=13
q=p=4,p=13
2) i=1,t=c[1]*13+4=17
q=13,p=17
3)i=0,t=c[0]*17+13=47
q=17,p=47

所以第一行是47,p的值。若有计算错误忽略下,主要是这个算法
第2个回答  2013-10-09
进入循环前的初始值:p=4, q=1
i=2时 t=3*4+1=13 , q=4, p=13
i=1时 t=1*13+4=17, q=13, p=17
i=0时 t=2*17+13=47, q=17, p=47
退出循环,所以这时的打印是两行:
47
17

题目只要第一行的输出就是47
第3个回答  2013-10-09
讲解循环内
p=c[3],q=1; // p=4
for(i=2;i>=0;i--)
{
t=c[i]*p + q ; //第一次 i= 2,c[2] = 3, p = 4, q =1,带入计算 t = 3 * 4 + 1 = 13

q = p; // q = 4;

p = t; // p = 13

}
第二次循环 t = c[1] * 13 + 4 = 1 * 13 + 4 = 17, q = 13, p = 17
第三次 t=c[0] * 17 + 13 = 2 * 17 + 13 =47, q = 17, p = 47;
输出的结果就是
47
17
第4个回答  2013-10-09
只看循环
其实数值p=c[3]=4 q=1 i=2
进入循环
i=2满足循环条件
t=c[2]*p+q=3*4+1=13
q=p=4
p=t=13

i=1 t=13 q=4 p=13 满足循环条件再次进入循环
t=c[1]*p+q=1*13+4=17
q=p=13
p=t=17

i=0 t=17 q=13 p=17再次满足条件 最后一次满足条件 进入循环
t=c[0]*p+q=2*17+13=47
q=p=17
p=t=47

则输出的结果就是
47
17本回答被提问者采纳
相似回答