2013年3月二C上机编程题答案.doc_第1页
2013年3月二C上机编程题答案.doc_第2页
2013年3月二C上机编程题答案.doc_第3页
2013年3月二C上机编程题答案.doc_第4页
2013年3月二C上机编程题答案.doc_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本答案仅供参考(请不要随意更改)A类数学表达式(112)(N)1、#include #include float fun(int m,int n)float t1=1,t2=1,t3=1,i;for(i=1;i=m;i+)t1*=i;for(i=1;i=n;i+)t2*=i;for(i=1;i=m-n;i+)t3*=i;return t1/(t2*t3);main() printf(P=%fn,fun(12,8); 2#include #include #include float fun()float x1=0.0,x0; x0=x1; x1=cos(x0); while(fabs(x0-x1)=0.000001) x0=x1; x1=cos(x0); return x1;main() printf(Root=%fn,fun(); 3#include #include double fun(int n) double f0=0,f1=1,fn; fn=f0+f1; while(fn=n) f0=f1; f1=fn; fn=f0+f1; return fn;main() /*主函数*/ printf(%fn,fun(1000); 4#include #include void fun (float *sn,int n)float i,t=1;*sn=0; for(i=0;i=n;i+) *sn+=t/(2*i+1); t=-t; main() /*主函数*/ int n=11;float s; fun(&s,n);printf(s=%f n=%dn,s,n);5#include #include #include double fun( int m)double s=0,i;for(i=1;i=m;i+) s+=log(i); return sqrt(s);main() printf(%fn,fun(20); 6#include #include #include double fun(double x,int n) double s=x+1,i,t=1; for(i=2;i=n;i+) t*=i;s+=pow(x,i)/t; return s;main() printf(%fn,fun(0.3,10); 7#include #include double fun (int n)double s=0, i; for(i=1;i=n;i+) s+=1.0/(i*(i+1); return s;main( ) printf(%f,fun(10);8#include #include double fun ( double eps)double s=0,t=1,i,m=1;for(i=1;t/m=eps;i+)s+=t/m;t=t*i;m=m*(2*i+1);return 2*s;main( ) double x; printf(Input eps:) ; scanf(%lf,&x); printf(neps = %lf, PI=%lfn, x, fun(x); 9#include #include double fun(double x) double i,t=1,m=1,s=0; for(i=1;fabs(m/t)=0.000001;i+) s=s+m/t; m*=(0.5+1-i)*x; t=t*i; return s;main() double x,s; printf(Input x: ); scanf(%lf,&x); s=fun(x); printf(s=%fn,s);10#include double fun(int n)double s=0,t=0,i;for(i=1;i=n;i+)t+=i;s+=1/t;return s;main() int n; double s; void NONO ( ); printf(nPlease enter N:); scanf(%d, &n); s = fun(n); printf(the result is: %fn, s); NONO();void NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, n ; double s; fp = fopen(K:K1524000108in.dat,r) ; wf = fopen(K:K1524000108out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(fp, %d, &n) ; s = fun(n) ; fprintf(wf, %fn, s) ; fclose(fp) ; fclose(wf) ;11#include double fun(int n) double t,sn=1.0; int i,j; for(i=1;i=n;i+) t=1.0; for(j=1;j=i;j+) t*=j; sn+=1.0/t; return sn; void main() int n; double s; FILE *out; printf(nInput n: ); scanf(%d,&n); s=fun(n); printf(s=%fn,s); /*/ out=fopen(out.dat,w); fprintf(out,%fn,fun(15); fclose(out); /*/12#include#includedouble fun(double x10) double x1=0.0,s=0.0; int i; for(i=0;i10;i+) x1=x1+xi; x1=x1/10; /*求10个数的平均值*/ for(i=0;i10;i+) s=s+(xi-x1)*(xi-x1); return sqrt(s/10); /*求10个数的方差*/void main() double s,x10=95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0; int i; printf(nThe original data is:n); for(i=0;i10;i+) printf(%6.1f ,xi); printf(nn ); s=fun(x); printf(s=%fnn ,s);B类最大值和最小值(15)1#include #include void fun(int a, int n , int *max, int *d )int i;*d=0;*max=a0;for(i=0;ia*d)*d=i;*max=a*d;main() int i, x20, max , index, n = 10; randomize() ; for (i=0;i n;i+) xi = rand()%50; printf(%4d, xi) ; printf(n); fun( x, n , &max, &index); printf(Max =%5d , Index =%4dn,max, index ); 2#include double fun(double a , int n) double sum=0,max,min;int i; max=min=a0; for(i=0;in;i+) sum=sum+ai; if(maxai)min=ai; sum=sum-max-min; return(sum/(n-2);main() double b10, r; int i; printf(输入10个分数放入b数组中 : ); for (i=0; i10; i+) scanf(%lf,&bi); printf(输入的10个分数是 : ); for (i=0; i10; i+) printf(%4.1lf ,bi); printf(n); r = fun(b, 10); printf(去掉最高分和最低分后的平均分 : %fn, r ); 3#include #include #define M 3#define N 4void fun(int ttMN,int ppN)int i,j;for(j=0;jN;j+)ppj=tt0j;for(i=1;iM;i+)if(ttijppj)ppj=ttij;main() int tMN=22,45,56,30, 19,33,45,38, 20,22,66,40; int pN,i,j,k; printf(The original data is:n); for (i=0;iM;i+) for (j=0;jN;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is:n); for(k=0;kN;k+) printf(%4d,pk); printf(n); 4#include #include int fun(int *s, int t, int *k)int i;*k=0;for(i=1;is*k)*k=i;main( ) int a10=876,675,896,101,301,401,980,431,451,777, k ; clrscr() ; fun(a, 10, &k) ; printf(%d, %dn, k, ak) ; 5#include #define M 4int fun (int aM) int i,j,max=a00; for(i=0;i2;i+) for(j=0;jM;j+) if(maxaij) max=aij; return max;main( ) int arr2M=5,8,3,45,76,-4,12,82 ;void NONO (); printf(max =%dn, fun(arr) ; NONO( ) ;C类二维数组行列下标(18)1#include #include void fun(int a33,int b33) int i,j; for(i=0;i3;i+) for(j=0;j3;j+) bij=aij+aji;main() int a33=1,2,3,4,5,6,7,8,9,t33; int i,j; fun(a,t); for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,tij); printf(n); 2#include #include #include #define N 5int fun(int aN,int m) int i,j; for(i=0;iN;i+) for(j=i;jN;j+) aij*=m;main() int aNN,m,i,j; printf(* The array *n); for (i=0;iN;i+) for (j=0;j=3); printf(m=%4dn,m); fun(a,m); printf(THE RESULTn); for(i=0;iN;i+) for (j=0;jN;j+) printf(%4d,aij); printf(n); 3#include #include int fun(int array33)int t,i,j; for(i=0;i2;i+)for(j=1;j3;j+) t=arrayij; arrayij=arrayji; arrayji=t; main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; for (i=0;i3;i+) for (j=0;j3;j+) printf(%7d,arrayij); printf(n); fun(array); printf(Converted array:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,arrayij); printf(n); 4#include#include#include#define N 5double fun (int wN) int i,j;double sum=0; for(j=0;jN;j+)sum+=w0j+wN-1j; for(i=1;iN-1;i+)sum+=wi0+wiN-1;return sum;void main() int aNN=0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1; int i, j; double s; printf(*The array*n ); for (i=0; iN; i+) for (j=0;jN;j+) printf(%4d ,aij); printf(n ); s=fun(a); printf(*THE RESULT*n ); printf(The sum is : %lfn ,s);5.#include void fun(int (*s)10, int *b, int *n, int mm, int nn)int i,j;*n=0; for(i=0;imm;i+) for(j=0;jnn;j+) b(*n)+=sij;main() int w1010 = 33,33,33,33,44,44,44,44,55,55,55,55,i,j ; int a100 = 0, n = 0 ; printf(The matrix:n) ; for(i = 0 ; i 3 ; i+) for(j = 0 ; j 4 ; j+) printf(%3d,wij) ; printf(n) ; fun(w, a, &n, 3, 4) ; printf(The A array:n) ; for(i = 0 ; i n ; i+) printf(%3d,ai);printf(nn) ; 6#include void fun(int s10, int b, int *n, int mm, int nn) /* 以下代码仅供参考 */ int i,j,np=0; /* np用作b数组下标 */ for(i=0;inn;i+) for(j=0;jmm;j+) bnp+=sji; *n=np;main() int w1010=33,33,33,33,44,44,44,44,55,55,55,55,i,j; int a100=0, n=0; printf(The matrix:n); for(i=0; i3; i+) for(j=0;j4; j+)printf(%3d,wij); printf(n); fun(w,a,&n,3,4); printf(The A array:n); for(i=0;in;i+)printf(%3d,ai);printf(nn);7#include #include #define N 5void fun ( int aN )int i,j;for(i=0;iN;i+)for(j=0;j=i;j+)aij=0;main ( ) void NONO( ); int aNN, i, j; printf(* The array *n); for ( i =0; iN; i+ ) for ( j =0; jN; j+ ) aij = rand()%10; printf( %4d, aij ); printf(n); fun ( a ); printf (THE RESULTn); for ( i =0; iN; i+ ) for ( j =0; jN; j+ ) printf( %4d, aij ); printf(n); NONO( );void NONO( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i, j, a55 ; rf = fopen(K:K1524000108in.dat,r) ; wf = fopen(K:K1524000108out.dat,w) ; for(i = 0 ; i 5 ; i+) for(j = 0 ; j 5 ; j+) fscanf(rf, %d , &aij) ; fun(a) ; for ( i = 0; i 5; i+ ) for ( j = 0; j 5; j+ ) fprintf(wf, %4d, aij ); fprintf(wf, n); fclose(rf) ; fclose(wf) ;8#include #include #define N 5void fun ( int aN, int n )int i,j;for(i=0;iN;i+)for(j=0;j=i;j+)aij*=n;main ( ) void NONO( ); int aNN, n, i, j; printf(* The array *n); for ( i =0; iN; i+ ) for ( j =0; j=3 ); printf(n = %4dn,n); fun ( a, n ); printf (* THE RESULT *n); for ( i =0; iN; i+ ) for ( j =0; jN; j+ ) printf( %4d, aij ); printf(n); NONO( );void NONO( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i, j, n, a55 ; rf = fopen(K:K1524000103in.dat, r) ; wf = fopen(K:K1524000103out.dat, w) ; for(i = 0 ; i 5 ; i+) for(j = 0 ; j 5 ; j+) fscanf(rf, %d , &aij) ; fscanf(rf, %d, &n) ; fun(a, n) ; for ( i = 0; i 5; i+ ) for ( j = 0; j 5; j+ ) fprintf(wf, %4d, aij ); fprintf(wf, n); fclose(rf) ; fclose(wf) ;D类素数(13)1#include #include void fun(int m,int *k,int xx)int i,j;*k=0;for(i=2;im;i+) for(j=2;ji;j+) if(i%j=0) break; if(ji) xx(*k)+=i;main() int m,n,zz100; printf(nPlease enter an integer number between 10 and 100:); scanf(%d,&n); fun(n,&m,zz); printf(nnThere are %d non-prime numbers less than %d:,m,n); for (n=0;nm;n+) printf(n %4dn,zzn);2将大于形参m且紧靠m的k个素数存入xx数组中。void fun(int m,int k,int xx) /* 以下代码仅供参考 */ int i, j=1, t=m+1; while(j=k) /* 以下完成判断素数,并存放到数组xx中 */for(i=2;i=t)xxj-1=t;j+; t+; main()int m,xx100,k,i;scanf(%d,%d,&m,&k);fun(m,k,xx);for(i=0;ik;i+)printf(%3d,xxi);3#include #include double fun(int n)int i,j;double s=0; for(i=3;in;i+) for(j=2;j=i) s+=sqrt(i); return s;main() int n; double sum; printf(nnInput n: ); scanf(%d,&n); sum=fun(n); printf(nnsum=%fnn,sum); E数学其它(117)1#include #include void fun(int a,int b,long *c)*c=a/10*1000+a%10*10+b/10+b%10*100;main() int a,b;long c; printf(Input a,b:); scanf(%d%d,&a,&b); fun(a,b,&c); printf(The result is:%ldn,c); 2#include #include #define M 200int aa1000;void fun(int *n)int i;*n=0;for(i=1;i1000;i+)if(i%7=0|i%11=0)&i%77!=0)aa(*n)+=i;main() int n,k; fun( &n); for(k=0;kn;k+) if(k+1)%10=0) printf(n); else printf(%5d,aak); 3#include #include unsigned fun(unsigned w)long t=10;while(w/t!=0)t*=10;return w%(t/10);main() unsigned x; printf(Enter a unsigned integer number: );scanf(%u,&x); printf(The original data is :%un,x); if (x10) printf(Data error!); else printf(The result:%un,fun(x);4#include #include double fun(double x9)int i;double s=0;for(i=1;i9;i+)s=s+sqrt(xi-1+xi)/2) ;return s;main() double s,a9=12.0,34.0,4.0,23.0,34.0,45.0,18.0,3.0,11.0; int i; printf(nThe original data is :n); for(i=0;i9;i+)printf(%6.1f,ai); printf(nn); s=fun(a); printf(s=%fnn,s);5#include #include #define N 20fun( int *a,int n,int *odd,int *even)int i;*odd=0;*even=0;for(i=0;in;i+)if(ai%2!=0)*odd=*odd+ai;else*even+=ai;main() int aN=1,9,2,3,11,6,i,n=6,odd,even; printf(The original data is:n); for (i=0;in;i+) printf(%5d,*(a+i); printf(nn); fun(a,n,&odd,&even); printf(The sum of odd numbers: %dn,odd); printf(The sum of even numbers: %dn,even); 6#include #include #define N 15int fun( int *s, int x) int i;for(i=0;iN;i+)if(x=si) return i;return -1;main() int aN= 29,13,5,22,10,9,3,18,22,25,14,15,2,7,27,i,x,index; printf(a数组中的数据 :n); for(i=0; iN; i+) printf(%4d,ai); printf(n); printf(给x输入待查找的数 : ); scanf(%d,&x); index=fun( a, x ); printf(index=%dn,index);7#include #include #include int fun(int score,int m,int below)float ave=0;int i,j=0;for(i=0;im;i+)ave+=scorei;ave/=m;for(i=0;im;i+)if(scoreiave)belowj+=scorei;return j;main() int i,n,below9; int score9=10,20,30,40,50,60,70,80,90; n=fun(score,9,below); printf(nBelow the average score are:); for(i=0;in;i+) printf(%d ,belowi); 8#include #include void fun(int x,int pp,int *n)int i;*n=0;for(i=1;i=x;i=i+2) if(x%i=0) pp(*n)+=i;main() int x,aa1000,n,i; printf(nPlease enter an integer number:n);scanf(%d,&x); fun(x,aa,&n); for(i=0;in;i+) printf(%d ,aai); printf(n); 9#include #include int fun ( int x )int i;i=x*x;if(i%10=x|i%100=x)return 1;elsereturn 0;main( ) int x, y; printf( nPlease enter a integer numbers: ); scanf ( %d, &x ); if ( x 100 | x 0 ) printf (data error !n); exit(0); y = fun ( x ); if ( y ) printf (%d YESn, x); else printf (%d NO!n, x); 10#include #include #define M 20double Acc( int k, double dd )double s=0;int i;for(i=0;ik;i+)s+=(ddi-(long)ddi);return s;main() int i, m; double x, ttM; printf(nPlease enter number of numbers: ); scanf(%d, &m ); printf(nPlease enter %d decimal numbers:n,m); for( i = 0; i m; i+ ) scanf(%lf, &x ); tti = x ; printf( nThe sum of their decimal part is: %lfn, Acc(m, tt); 11#include #include #include #define M 20double Pdt( int n, double pp )double s=0;int i;for(i=0;in;i+)s+=(long)ppi;return s; main( ) int i, m; double ttM; printf(nPlease enter number of numbers: ); scanf(%d, &m ); printf(nPlease enter %d decimal numbers: , m); for( i = 0; i m; i+ ) scanf(%lf, &tti ); printf( nThe product of their integer part is: %lf., Pdt(m, tt) ); 12#include #define N 80void fun(int *w, int p, int n)int i,j,t;for(i=0;ip;i+)t=w0;for(j=1;jn;j+)wj-1=wj;wn-1=t;main() int aN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; int i,p,n=15; printf(The original data:n); for(i=0; in; i+)printf(%3d,ai); printf(nnEnter p: );scanf(%d,&p); fun(a,p,n); printf(nThe data after moving:n); for(i=0; in; i+)printf(%3d,ai); printf(nn); 13#include #define N 80int fun(int a, int n)int i,j=0;for(i=1;in;i+)if(ai-1ai) aj+=ai-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论