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("");/* 每一行后换行 */
}
}
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("");/* 控制输出,每行四个 */
f1=f1+f2; /* 前两个月加起来赋值给第三个月 */
f2=f1+f2; /* 前两个月加起来赋值给第三个月 */
}
}
3 、 /* 判断 101-200 之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt( 这个数 ) ,如果能被整除,
则表明此数不是素数,反之是素数。 */
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("");
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++;