浙江省计算机二级c语言上机考试真题.docx_第1页
浙江省计算机二级c语言上机考试真题.docx_第2页
浙江省计算机二级c语言上机考试真题.docx_第3页
浙江省计算机二级c语言上机考试真题.docx_第4页
浙江省计算机二级c语言上机考试真题.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

(二)上机编程题1.程序设计题:z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间1,6的整数,找出使z取最小值的x1、y1,并将x1、y1以格式 %d,%d写入到考生目录下新建文件design.dat。#include void main() FILE *p; float f(int x,int y),min;int x,y,x1,y1;/ 此处起要求考生自己编制程序min=100;p=fopen(“design.dat”, “w”);for(x=1;x6;x+)for(y=1;y6;y+)if(f(x,y)min)min=f(x,y); x1=x; y1=y;fprintf(p, “%d,%d”,x1,y1);/答案:x1=1, y1=5fclose(p);/或若x=6及y=6则x1=1, y1=6float f(int u,int v) return (3.14*u-v)/(u+v); 4程序设计题:对x=1,2,.,10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式%.3f写到考生目录下新建文件 design.dat。#include #include void main()FILE *p; float f(float),max,x;/此处起要求考生自己编制程序p=fopen(“design.dat”, “w”);max=f(1);for(x=2;x=10;x+)if(maxf(x)max=f(x);fprintf(p,”%.3f”,max);/答案:21.111fclose(p);float f(float y)y=y-10*cos(y)-5*sin(y);return (y);6.程序设计题:数组元素xi、yi表示平面 上某点坐标,统计10个点中同处在圆(x-1)*(x-1)+(y+0.5)*(y+0.5)=25和(x-0.5)*(x- 0.5)+y*y=36内的点数k,并将变量k的值以格式%d写到考生目录下新建文件design.dat。#include #include void main()FILE *p; int i,k=0;float x=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65;float y=-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33;/此处起要求考生自己编制程序p=fopen(design.dat, w);for(i=0;i10;i+)if(xi-1)*(xi-1)+(yi+0.5)*(yi+0.5)=25)&(xi-0.5)*(xi-0.5)+(yi*yi)=36)k+;fprintf(p,%d,k);/答案:3fclose(p);7.程序设计题:数组元素xi、yi表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式%f写到考生目录下新建文件 design.dat。#include #include #define len(x1,y1,x2,y2) sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)void main() FILE *p; int i,j; float c,minc;float x=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65;float y=-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33;minc=len(x0,y0,x1,y1);/此处起要求考生自己编制程序p=fopen(design.dat, w);for(i=0;i9;i+)for(j=i+1;j10;j+)if(c=len(xi,yi,xj,yj)minc)minc=c;fprintf(p,%f,minc);/答案:1.457944fclose(p);8.程序设计题:将数组a的每一行均除以该行上的主对角元素(第1行同除以a00,第2行同除以a11,.,)然后将a数组写入到考生目录下新建的文件design.dat.#include #include void main( )float a33=1.3,2.7,3.6,2,3,4.7,3,4,1.27;FILE *p; int i,j;/此处起要求考生自己编制程序floatk;if(p=fopen(design.dat,w)=NULL)printf(cannot open in FILEn);exit(0);for(i=0;i3;i+)k = aii;for(j=0;j3;j+)ai j=aij/k;/此处起要求考生自己编制程序for(i=0;i3;i+) for(j=0;j3;j+) fprintf(p,%10.6f,aij);/答案:1.0000002.0769232.769231fprintf(p,n);/0.6666671.0000001.566667/2.3622053.1496061.000000fclose(p);9.程序设计题:计算表达式1+2!+3!+.+12!的值,并将计算结果以格式%d写入到考生目录下新建的文件design.dat。#include #include void main( )FILE *p; int s=1,k=1,i;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open inFILEn);exit(0);for(i=2;i=12;i+)k*=i; s+=k;fprintf(p,%d,s);/答案:522956313fclose(p);10.程序设计题:在6至1000内找出所有的合数,并顺序将每个合数用语句“fprintf(p,%6d,n)”写入到考生目录下新建的文件 design.dat。说明:某数等于其诸因子之和则该数为合数,如6=1+2+3,28=1+2+4+7+14 则 6、28就是合数。#include #include void main() FILE *p;int n,i,s;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open inFILEn);exit(0);for(n=6;n=1000;n+)s=0;for(i=1;in;i+)if(n%i=0) s+=i;if(n=s) fprintf(p,%6d,n);/答案:628 496fclose(p);11.程序设计题:在正整数中找出一个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式%d写到考生目录下新建文件design.dat。#include #include void main( )/此处起要求考生自己编制程序FILE *p; int i;if(p=fopen(design.dat,w)=NULL)printf(cannot open FILE); exit(0); for(i=1; ;i+)if(i%3=1&i%5=3&i%7=5&i%9=7) break;fprintf(p,%d,i);fclose(p);/答案:31312程序设计题:a、b、c为区间1,100的整数,统计使等式 c/(a*a+b*b)=1成立的所有解的个数,并将统计数以格式%d写入到考生目录下新建文件design.dat(若a=1、b=3、c=10是1个解,则a=3、b=1、c=10 也是解)#include void main() FILE *p; int n=0,a,b,c;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open inFILEn);exit(0);for(a=1;a=100;a+)for(b=1;b=100;b+)for(c=1;c=100;c+)if(a*a+b*b)=c)/同学们注意:若写成c/(a*a+b*b)=1就上当了!n+=1;/想一想为什么?fprintf(p,%d,n);/答案:69个fclose(p);13.程序设计题:对x=1,2,.,10,求函数f(x)=x-10*cos(x)+5*sin(x)的最大值,并将该数以格式%.2f 写到考生目录下新建文件design.dat。#include #include #include void main() FILE *p; float f(float),max;int x;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open filen);exit(0);max=f(1);for(x=2;x=10;x+)if(maxf(x)max=f(x);fprintf(p,%.2f,max);/答案:20.17fclose(p);float f(float x)x=x-10*cos(x)+5*sin(x);return x;14.程序设计题:统计满足条件 x*x+y*y+z*z=2000的所有解的个数,并将统计结果以格式%d写入到考生目录下新建的文件design.dat。说明:若a、b、c是一个解,则a、c、b也是一个解,等等。#include void main()FILE *p; int x,y,z,k=0;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open FILE);exit(0);for(x=-45;x45;x+)for(y=-45;y45;y+)for(z=-45;z45;z+)if(x*x+y*y+z*z=2000) k+;/该题有x,y,z取值范围的问题!fprintf(p,%d,k);/答案:144fclose(p);15.程序设计题:在6至5000内找出所有的亲密数对,并将每对亲密数用语句“fprintf(p,%6d,%6dn,a,b);”写到考生目录下新建文件design.dat。说明:若a、b为一对亲密数,则a的因子和等于b、b的因子和等于a、且a不等于b。如:220、284是一对亲密数,284、220也是一对亲密数。#include void main() FILE *p;int i,a,b,c;p=fopen(design.dat,w);printf(程序正在运行,请稍等.n);for(a=6;a=5000;a+)/此处起要求考生自己编制程序*/b=c=0;for(i=1;ia;i+)if(a%i=0)b=b+i;for(i=1;ib;i+)if(b%i=0)c=c+i;if(a=c & a!=b)fprintf(p,%6d,%6dn,a,b)/答案:220,284/284,220fclose(p);/1184,1210/1210,1184/2620,2924/2924,262016.程序设计题:计算数列1,-1/3!,1/5!,-1/7!,1/9!,.的和至某项的绝对值小于1e-5时为止(该项不累加),将求和的结果以格式%.6f写到考生目录下新建文件design.dat。#include #include #include void main( ) FILE *p; float s=1,t=1,i=3;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open inFILEn);exit(0);dot=-t* (i-1)*i;s=s+1/t;i+=2;while(fabs(1/t) = 1e-5);fprintf(p,%.6f,s);/答案:0.841471fclose(p);17.程序设计题:xi,yi分别表示平面上1个点的x、y坐标,求下列5点各点间距离总和,并将该数以格式%.4f写到考生目录下新建文件design.dat。#include #include #include void main() FILE *p; float s,x5=-1.5,2.1,6.3,3.2,-0.7;float y5=7,5.1,3.2,4.5,7.6; int i,j;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannot open inFILEn);exit(0);s=0;for(i=0;i4;i+)for(j=i+1;j5;j+)s+=sqrt(pow(xi-xj,2)+pow(yi-yj,2);fprintf(p,%.4f,s);/答案:45.2985fclose(p);18.程序设计题:数列第1项为81,此后各项均为它前1项的平方根,统计该数列前30项之和,并将和以格式%.3f写入到考生目录下新建文件design.dat。#include #include #include void main() FILE *p; float s=0,a=81,i;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(Cant open filen);exit(0);for(i=0;i30;i+) s+=a;a=sqrt(a);fprintf(p,%.3f,s);/答案:121.336fclose(p);19.程序设计题:在1000至1100内找出所有的素数,并顺序将每个素数用语句“fprintf(p,%5d,i)”写入到考生目录下新建的文件design.dat。说明:素数是自然数中除了1以外只能被1和其自身整除的数。#include #include #include void main() FILE *p;intj;/ 此处起要求考生自己编制程序int prime(int n);if(p=fopen(design.dat,w)=NULL)printf(cannt open a FILE);exit(0);for(j=1000;j=1100;j+)if(prime(j)=1)fprintf(p,%5d,j);fclose(p);int prime(int n)int i;for(i=2;isqrt(n);i+)if(n%i=0) return 0;return 1;/注意:这里不能else*以下题目是2003年秋考新增加的程序设计题!*20.程序设计题:计算多项式a0+a1*x+a2*x*x+a3*x*x*x+.的值,并将其值以格式%f写到考生目录下新建文件design.dat。#include #include #include void main() FILE *p; int i; float x=1.279,t=1,y=0;float a10=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65;/此处起要求考生自己编制程序if(p=fopen(design.dat,w)=NULL)printf(cannt open a FILE);exit(0);for(i=0; i10; i+)y=y+ai*t;t=t*x;/或用如下最笨的写法:/y=a0+a1*x+a2*x*x+a3*x*x*x+a4*x*x*x*x+a5*x*x*x*x*x;/y=y+a6*x*x*x*x*x*x+a7*x*x*x*x*x*x*x+a8*x*x*x*x*x*x*x*x;/y=y+a9*x*x*x*x*x*x*x*x*x;fprintf(p,%f,y);/答案:98.722542fclose(p);21.程序设计题:将数组a的每1行均除以该行上绝对值最大的元素,然后将a数组写入到考生目录下新建文件design.dat。#include #include #include void main() float a33=1.3,2.7,3.6,2,3,4.7,3,4,1.27;FILE *p; float x; int i,j;/此处起要求考生自己编制程序for(i=0;i3;i+)x=fabs(ai0);for(j=1;j3;j+)if(xfabs(aij) x=fabs(aij);for(j=0;j3;j+)aij=aij/x;p=fopen(design.dat,w);for(i=0;i3;i+) for(j=0;j3;j+) fprintf(p,%10.6f,aij);fprintf(p,n)

温馨提示

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

评论

0/150

提交评论