c语言复习资料补充
1. 以下程序返回数组中最大元素的下标。 maxint s[ ],int t { int k,p; forp0,kp; pt; p ifs[p]s[k] kp; return k;; } void main int a[5]4,8,5,6,9,t5,m; int maxint s[],int t; mmaxa,t; printfd,m;} 2. 使用辗转相除法,求两个正整数的最大公约数和最小公倍数的 程序。 includestdio.h void mainQ { int p,r,n,m,temp; printf请输入两个正整数, scanfd,d,n,m; ifnm { tempn; nm; mtemp; } pn*m; while_rnm 0 { nm; mr; } printf它们的最大公约数为d\n,m; printf它们的最小公倍数为d\n,p/m; } 1. 下面程序的功能是例如从键盘输入15,输出153*5从键 盘输入-12,输出-12-2*2*3 include stdio.h include math.h funint n int k,r; fork2;ksqrtn;k rnk; whiler printfd,k;nn/k; ifnlprintf*; rnk; ifnlprintfd\n,n; } void main { int n; scanfd,n; printfd,n; ifnOprintf-; nfabsn;funn; } 下面程序注意define是宏定义语句,例如define A 12指遇 到A就用12原样代替,遇到B就用A*A原样代替所以该程序输出 语句相当于printf%d”,l2*l2;结果为5 defineA12 defineBA*A main printf%d”,B; } 1、用选择法对10个数从小到大进行排序 void main { int a[10]; int i,j,k,temp; printfPlease 10 numbers\n,; fori0; i10; i scanfd, a[i]; fori0; i9; i { ki; forjil; j10; j ifa[j]a[k] kj; ifki {tempa[i]; a[i]a[k]; a[k]temp; } } fori0; i10; i printfd ,a[i]; 2、输出杨辉三角图形前10行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 include stdio.h include math.h void main int a[10][10],i,j; for i0;i10;i { a[i][i]l; a[i][0]l; } for i2;i10;i forjl;ji-l;j a[i]U]a[i-l][j-l]a[i-l][j]; for i0;i10;i { for jO;ji;j printf4d,a[i][j]; printf\n; } printf\n; 文件知识点函数用来打开文件,打开文本文件方式r为只读, W为只写; include stdio.h void main { int a,n,il,snO,in; printfa,n; scanfd,d,a,n; ina; whilein { printfd,in; sninsn; inin*10a; i; printfd,sn; includestdio.h includemath.h void main { int m,i,k; scanfd,m; ksqrtm; fori2;ik;i ifmiObreak; ifikprintfd 是素数\n”,m; else printfd 不是素数\n”,m; includestdio.h void main { int il; float m2,nl,sn0,x; whilei20 snsnm/n; xm;mmn;nx; i; } printff,sn;