十六大直播闭幕式视频:请问一道简单的题

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 20:33:26
void main()
{ int x,p,i,s=0;
for(x=1;x<5;x++)
{ for(p=i=1;i<=x;i++) p=p*x;
s=s+p;
}
printf("%d",s);
}

赋值语句是从右向左的啊p=i=1
右面的是1,i++好用吗?
是怎么推算出的1^1+2^2+3^3+4^4=288
讲一下思路哦~迷糊一天了

for(x=1;x<5;x++)
{
for(p=i=1;i<=x;i++)

p=p*x;

s=s+p;
}
外层循环(x=1)
内层循环循环一次:p=1;s=1
外层循环(x=2)
内层循环循环二次:p=4;s=5
外层循环(x=1)
内层循环循环三次:p=27;s=32
外层循环(x=2)
内层循环循环四次:p=256;s=288
注:每次的内层循环,i只是控制循环次数;p则是累乘x几次,几次呢?当然是下次喽~

祝你好运!

第一个FOR表示四次累加,共4个数字,和放在SUM中,SUM被初始化为0;
第二个FOR 表示每次相乘的次数,比如第一次1*1(1次),第2次1*2*2(2次),第3次1*3*3*3(3次)....
赋值语句意思就是P=1;I=1;
I++就是I值增加1.

^^^^^^^^^^^^^^^^^^^^^^^