题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n"); /*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
getch();
}
为什么这个程序中的if(i%2==0) printf("\n"); /*控制输出,每行四个*/是输出每行四个,而程序
main()
{
long n,i,j=0;
long f[10000];
f[1]=1;f[2]=1;
printf("please input :\n");
scanf("%ld",&n);
for(i=3;i<=n;i++)
f[i]=f[i-1]+f[i-2];
for(i=1;i<=n;i++)
{printf("%ld",f[i]);j++;
if(j%2==0) printf("\n");}
getch();
}
中的if(j%2==0) printf("\n")则控制输出两行?