C语言复习-C语言必背18个经典程序.doc
文本预览下载声明
C语言必背18个经典程序
1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include stdio.h
int main(int argc, char *argv[])
{
int i,j;
for(i=1;i10;i++){
for(j=1;j=i;j++)
printf( %d* %d= %d,i,j,i*j);
printf(\n);
}
return 0;
}
2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....*/
#include stdio.h
int fun(int n){
if(n=2n=1)return 1;
else return fun(n-1)+fun(n-2);
}
int main(int argc, char *argv[])
{
int n;
printf(enter month:);
scanf(%d,n);
printf(%d\n,fun(n));
return 0;
}
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。*/
#include stdio.h
#includemath.h
int fun(int n){
int k=sqrt(n),i;
for(i=2;i=k;i++)
if(n%i==0) break;
if(ik) return 1;
else return 0;
}
int main(int argc, char *argv[])
{
int count=0,i;
for(i=101;i=200;i++)
if(fun(i)==1){
printf(%d ,i);
count++;
}
printf(\n);
printf(个数为:%d\n,count);
return 0;
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。*/
#include stdio.h
int fun(int n){
int i,s=0;
for(i=1;in;i++)
if(n%i==0) s+=i;
if(s==n) return 1;
else return 0;
}
int main(int argc, char *argv[])
{
int i;
for(i=1;i1001;i++)
if(fun(i)==1) printf(%d\n,i);
return 0;
}
5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/
printf(input 16 numbers: );
/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
for(i=0;i4;i++)
for(j=0;j4;j++)
{ scanf(%d,a[i][j]);
b[3-j][i]=a[i][j];
}
printf(array b:\n);
for(i=0;i4;i++)
{ for(j=0;j4;j++)
printf(%6d,b[i][j]);
printf(\n);
}
}
#include stdio.h
#include time.h
#include stdlib.h
void fun(int a[4][4],int b[]){
}
int main(int argc, char *argv[])
{
srand(time(0));
int a[4][4]={0},b[16],i,j;
for(i=0;i4;i++)
for(j=0;j4;j++)
a[i][j]=rand()%10;
printf(初始化数组为:\n);
for(i=0;i4;i++){
for(j=0;j4;j++)
printf(%d ,a[i][j]);
printf(\n);
}
fun(a,b);
printf(旋转后数组为:\n);
for(i=
显示全部