必须会的C语言经典程序.doc
文本预览下载声明
1、输出9*9口诀。共9行9列,i控制行,j控制列。
#include stdio.h
#include conio.h
int main()
{
int i,j,result;
for (i=1;i10;i++)
{
for(j=1;j10;j++)
{
result=i*j;
printf(%d*%d=%-3d,i,j,result); // -3d表示左对齐,占3位
}
printf(\n); // 每一行后换行
}
getch();
return 0;
}
2、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....
#include stdio.h
#include conio.h
int 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();
return 0;
}3、判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。*
#includestdio.h
#includestdlib.h
#includeconio.h
#include math.h
int main()
{
int m,i,k,h=0,leap=1;
printf(\n);
for(m=101;m=200;m++)
{
k=(int)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);
getch();
return 0;
}4、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。
#include stdio.h
#include conio.h
int main()
{
static int k[10];
int i,j,n,s;
for(j=2;j1000;j++)
{
n=-1;
s=j;
for(i=1;ij;i++)
{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf(%d is a wanshu: ,j);
for(i=0;in;i++)
{
printf(%d,,k[i]);
}
printf(%d\n,
显示全部