印20个数,第一个数为1,第二个数也为1,后面的数都为前两个数的和,每打印5个数换行一次。
用for循环 厉害的 大哥帮忙
印20个数,第一个数为1,第二个数也为1,后面的数都为前两个数的和,每打印5个数换行一次。
用for循环 厉害的 大哥帮忙
你好. 这是斐波那契数列. 第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;
}
附图:
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; } }
#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"); } } }