#include<stdio.h> #include<windows.h>
//有一对兔子,出生后没3个月生一对兔子,小兔子长到三个月后每月又生一对兔子,如果兔子不死,求四十个月后兔子总数 void test1() { ?? ?//根据绘制表格得到每个月兔子总数,第一个月总数为f1,第二个月为f2,第三个月往后依次等于上一个月加前一个月的兔子数 ?? ?long int f1, f2; ?? ?int i; ?? ?f1 = 1; f2 = 1; ?? ?for(i = 1; i <= 20; i++) ?? ?{ ?? ??? ?printf("%20ld%20ld", f1, f2); ?? ??? ?//如果循环次数(没两月为一次)为偶数,即2,4...换行,就是没四个月兔子总数按一行打印出来 ?? ??? ?if(i % 2 == 0) printf("\n"); ?? ??? ?//printf("\n"); ?? ??? ?//第三个月兔子总数等于上一个月加前一个月,第一次循环为1+1,并把所得值赋值到F1并输出,新的f1值参与到下一次运算 ?? ??? ?f1 = f2 + f1; ?? ??? ?//新的f1兔子总数等于四月前一个月的兔子加上前两月的兔子数f2为四月兔子总数,并依次类推 ?? ??? ?f2 = f1 + f2; ?? ?} }
//有一对兔子,出生后没3个月生一对兔子,小兔子长到三个月后每月又生一对兔子,如果兔子不死,求四十个月后兔子总数 void test2() { ?? ?//根据绘制表格得到每个月兔子总数,第一个月总数为f1,第二个月为f2,第三个月往后依次等于上一个月加前一个月的兔子数 ?? ?long int f1, f2; ?? ?int i; ?? ?f1 = 1; f2 = 1; ?? ?for(i = 1; i <= 20; i++) ?? ?{ ?? ??? ?//修改程序,没两个月兔子总数换行 ?? ??? ?printf("%20ld%20ld", f1, f2); ?? ??? ?//如果循环次数(没两月为一次)为偶数,即2,4...换行,就是没四个月兔子总数按一行打印出来 ?? ??? ?//if(i % 2 == 0) printf("\n"); ?? ??? ?printf("\n"); ?? ??? ?f1 = f2 + f1; ?? ??? ?f2 = f1 + f2; ?? ?} }
void test3() { ?? ?//根据绘制表格得到每个月兔子总数,第一个月总数为f1,第二个月为f2,第三个月往后依次等于上一个月加前一个月的兔子数 ?? ?long int f1, f2; ?? ?int i; ?? ?//f1 = 1; f2 = 1; ?? ?for(i = 1; i <= 20; i++) ?? ?{ ?? ??? ?//未给F1 F2赋值,程序出错,返回负数 ?? ??? ?printf("%20ld%20ld", f1, f2); ?? ??? ?//如果循环次数(没两月为一次)为偶数,即2,4...换行,就是没四个月兔子总数按一行打印出来 ?? ??? ?if(i % 2 == 0) printf("\n"); ?? ??? ?f1 = f2 + f1; ?? ??? ?f2 = f1 + f2; ?? ?} }
void test4() { ?? ?//根据绘制表格得到每个月兔子总数,第一个月总数为f1,第二个月为f2,第三个月往后依次等于上一个月加前一个月的兔子数 ?? ?long int f1, f2; ?? ?int i; ?? ?f1 = 1; f2 = 1; ?? ?for(i = 1; i <= 20; i++) ?? ?{ ?? ??? ?//修改程序,没一月兔子总数换行 ?? ??? ?printf("%-20ld\n", f1); ?? ??? ?printf("%-20ld\n", f2); ?? ??? ?f1 = f2 + f1; ?? ??? ?f2 = f1 + f2; ?? ?} }
void main() { ?? ?test1(); ?? ?test2(); ?? ?test3(); ?? ?test4(); ?? ?system("pause"); }
?
|