c 语言入门经典必背18 个程序 1 、 /* 输出 9*9 口诀。共 9 行 9 列, i 控制行, j 控制列。 */ #include "stdio.h" main() {int i,j,result; for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占 3 位 */ } printf("\n");/* 每一行后换行 */ } } 2 、 /* 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔 子都不死,问每个月的兔子总数为多少? 兔子的规律为数列 1,1,2,3,5,8,13,21....*/ 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; /* 前两个月加起来赋值给第三个月 */ } } 3 、 /* 判断 101-200 之间有多少个素数,并输出所有素数及素数的个数。 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt( 这个数 ) ,如果能被整除, 则表明此数不是素数,反之是素数。 */ #include "math.h" main() { int m,i,k,h=0,leap=1; printf("\n"); for(m=101;m<=200;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;} if(leap) /* 内循环结束后, leap 依然为 1 ,则 m 是素数 */ {printf("%-4d",m);h++;if(h%10==0) printf("\n"); } leap=1; } printf("\nThe total is %d",h); } 4 、 /* 一个数如果恰好等于它的因子之和,这个数就称为 “ 完数 ” 。例如 6=1 + 2 + 3. 编程 找出 1000 以内的所有完数。 */ main() { static int k[10]; int i,j,n,s; for(j=2;j<1000;j++) { n=-1; s=j; for(i=1;i