for(i=1;i a[i][1]=1; a[i][i]=1; } for(i=3;i a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i for(j=1;j<=i;j++) printf(\ printf(\ } printf(\} 86.编一个函数实现将一个整型的一维数组中的数逆序存放,不使用辅助数组。主函数输入一个整型的一维数组,调用上述函数,将该数组逆置,将结果输出。 #include { int a[N],i,temp; printf(\ for(i=0;i printf(\ for(i=0;i temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf(\ for(i=0;i } 87.编写一个函数convert,求一个方阵的转置矩阵;主函数中输入方阵的阶数和方阵,在主函数中将原矩阵和转置矩阵按原格式输出。 #include { void convert(int [10][10]); int a[10][10],p,q,i,j; printf(\请输入矩阵的行和列:\\n\ scanf(\ scanf(\ printf(\请输入矩阵的元素值:\\n\ for(i=0;i for(j=0;j } convert(a); printf(\转置矩阵为:\\n\ for(i=0;i for(j=0;j printf(\ printf(\ } } void convert(int a[10][10]) { int i,j,t; for(i=0;i<10;i++) for(j=i+1;j<10;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } } 88.求∏值,精度为10-5:∏/4≈1-1/3+1/5-1/7+?? #include float a=1.0,b; int i; for(i=1;1.0/(2*i+1)>0.00001;i++) { if(i%2!=0) a-=1.0/(2*i+1); else a+=1.0/(2*i+1); } b=4.0*a; printf(\的值为:%f\\n\ } 89.用公式计算:e≈1+1/1!+1/2! ?+1/n!,精度为10-6。 #include int i; float e=1.0; for(i=1;fun(i)>0.00000001;i++) e+=fun(i); printf(\ } float fun(int n) { int i; float term=1.0; for(i=1;i<=n;i++) term/=i; return term; } 90.有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13 求该序列的前20项之和。 #include int i; float a[22], b[20],p=0.0; a[0]=1.0; a[1]=1.0; for(i=2;i<22;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<20;i++) b[i]=a[i+2]/a[i+1]; for(i=0;i<20;i++) p+=b[i]; printf(\ } 91.编一个子函数GCD,求两个正整数的最大公约数,主程序输入n个自然数,调GCD,求出这n个数的最大公约数。 #include int GCD(int,int); void main() { int a[100],i,n,k; printf(\请输入数组元素的个数:\\n\ scanf(\ printf(\请输入%d个正整数:\\n\ for(i=0;i scanf(\ k=GCD(a[0],a[1]); for(i=2;i k=GCD(k,a[i]); printf(\输入的%d个正整数的最大公约数是:%d\\n\} int GCD(int x,int y) { int i,min,p,q,gcd; if(x<=y) min=x; else min=y; for(i=1;i<=min;i++) { p=x%i; q=y%i; if(p==0&&q==0) gcd=i; } return gcd; } 92.写函数求sin(x)的值。计算公式为:Sin(x)=X-X3/3!+X5/5!-X7/7!+ ?+(-1)n-1X2n-1/(2n-1)!。 #include float fun(float,int); float sin(int,float); float term(int); void main() { int n; float x; printf(\请输入n,x值:\\n\ scanf(\ scanf(\ printf(\} float sin(int n,float x) { int i; float s=0.0; for(i=1;i<=n;i++) s+=fun(-1.0,i-1)*fun(x,2*i-1)*term(2*i-1); return s; } float fun(float x,int n) { int i; float p=1.0; for(i=0;i p=p*x; return p; } float term(int n) { int i; float q=1.0; for(i=1;i<=n;i++) q/=i; return q; } 93.编一函数使用冒泡法对若干个整数按从小到大的顺序排序,主函数中输入若干个整数到一个一维数组中,调用排序函数,将其排序,最后将原数组和排好序的数组输出。 #include #define N 10 void main() { int a[N],i,j,temp;
113题经典C程序设计(8)
2019-06-17 10:50
113题经典C程序设计(8).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!