猿问

裴波那契数的前43项和

include<stdio.h>
void main()
{
 int i=1,j=1,k,m,sum=0;
 for(k=1;k<=43;k++)
 {
  i=j+i;
  m=i;
  i=j;
  j=m;
  k++;
  
  sum=sum+i;
 }
 printf("%d\n",sum);
}


这个程序为么不对啊?帮忙修改一下。谢谢

渐行渐远6
浏览 1089回答 2
2回答

杰伦窗外的小麻雀

//写的很乱啊,你把裴波拉契数放到一个数组arr里,然后照着下边的程序运行var add=0;for(var i=0;i<44;i++){    add+=arr[i];}printf("%d\n",add);

杰伦窗外的小麻雀

第一个原因是你循环的时候i从1开始,结果到了43就停止了,等于你只循环了42次,那就只取到了前42个数;第二个原因是你for循环体力写了一堆无用的东西,每次循环你里面的值都会被改为初始值,而且sum的运算也是错的;这个for本身写的逻辑就是错的,所以达不到效果很正常,希望之前的那个答案对你有帮助
随时随地看视频慕课网APP
我要回答