永发信息网

帮忙解决下C语言的题

答案:3  悬赏:40  手机版
解决时间 2021-07-30 07:31
  • 提问者网友:人傍凄凉立暮秋
  • 2021-07-29 17:27

印20个数,第一个数为1,第二个数也为1,后面的数都为前两个数的和,每打印5个数换行一次。

用for循环 厉害的 大哥帮忙

最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-07-29 17:35

你好. 这是斐波那契数列. 第n项的值等于第n-1项加上第n-2项的值.


具体程序如下:



#include <stdio.h>
int main()
{
int fib[20] = {1,1}; //初始化第一个数和第二个数为1.
int i,cnt=0; //i为数组下标. cnt用于输出控制.
for(i=2;i<20;i++) //初始化数组.将斐波那契数列的前20个数存放到fib数组中.
fib[i]=fib[i-1]+fib[i-2];//第i个数等于第i-1个数加上第i-2个数.


for(i=0;i<20;i++) //输出.
{
printf("%d\t",fib[i]);
cnt++;
if(cnt==5) //cnt用于累计输出几个数. 每输出5个数就换行,并将cnt清零.
{
printf("\n");
cnt=0;
}
}
getch();
return 0;
}
附图:


全部回答
  • 1楼网友:渊鱼
  • 2021-07-29 18:00

main() { int first = 1; int second = 1; int third,i;

printf ("%d %d ",first,second); for (i=1;i<19;i++){ printf("%d ",first + second); third = first + second; first = second; second = third; } }

  • 2楼网友:掌灯师
  • 2021-07-29 17:40

#include "stdio.h" #include "math.h"

void main(void) { int i, a[20]; a[0] = a[1] = 1; for (i = 2; i < 20; ++i) { a[i] = a[i-1] + a[i-2]; }

for (i = 0; i < 20; ++i) { printf("%d ", a[i]); if ((i + 1) % 5 == 0) { printf("\n"); } } }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯