文档详情

C语言复习-C语言必背18个经典程序.doc

发布:2017-06-08约1.27万字共17页下载文档
文本预览下载声明
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=
显示全部
相似文档