收藏 分享(赏)

浙江省二级C语言上机考试题库.doc

上传人:精品资料 文档编号:10536276 上传时间:2019-11-26 格式:DOC 页数:33 大小:159KB
下载 相关 举报
浙江省二级C语言上机考试题库.doc_第1页
第1页 / 共33页
浙江省二级C语言上机考试题库.doc_第2页
第2页 / 共33页
浙江省二级C语言上机考试题库.doc_第3页
第3页 / 共33页
浙江省二级C语言上机考试题库.doc_第4页
第4页 / 共33页
浙江省二级C语言上机考试题库.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、1程序调试题 + 程序设计题(浙江省二级 C 语言上机考试题库)1. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:运行时输入 n,输出 n 的所有质数因子(如 n=13860,则输出2、2、3、3、5、7、11) 。#include void main()int n,i; scanf(“%d“,/* 1 */i=1; i=2while(n1)if(n%i=0) printf(“%dt“,i); n/=i; else/* 2 */n-; n+2. 在考生目录

2、的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入的一个小写字母,将字母循环后移 5 个位置后输出,如a变成f , w变成b 。#include void main()char c; c=getchar();if(_) c=c+5;else if (c=v void main()float b5=1.1,2.2,3.3,4.4,5.5;printf(“%fn“,f(1.7,b,5);float f( _1_ )float y=a0,t=1; int i;f

3、or(i=1;i#include void main()int n,s=0; scanf(“%d“, n=fabs(n);/* 1 */while(n1)s=s+n%10;/* 2 */n=n%10;printf(“%dn“,s);6. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。#include #include void main()char a80; int n5=0,i; gets(a);3for(i

4、=0; ai!=0; i+)/* 1 */switch(toupper(ai)case a: n0+; break;case e: n1+; break;case i: n2+; break;case o: n3+; break;/* 2 */case U: n4+;for(i=0;i#include long f(long n)long m,y=0; m=fabs(n);while(m!=0)y=y*10+m%10;_1_if(n=0) return y;else _2_void main() printf(“%ldt“,f(12345); printf(“%ldn“,f(-34567);

5、8. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入整数 n(n0) ,求 m 使得 2 的 m 次方小于或等于 n、2 的 m+1 次方大于或等于n。#include void main()int m=0,t=1,n;while( _ 1 _);while(!(t=n)_ 2 _m+;printf(“%dn“,m);49. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正

6、(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:运行时若输入 a、n 分别为 3、6,则输出下列表达式的值:3+33+333+3333+33333+333333#includevoid main()int i,a,n; long t=0;/* 1 */s=0;scanf(“%d%d“,for(i=1;ivoid f(int *a,int n,int k)int i,j,t;for(i=0;i5_1_void main() printf(“%ldn“,f(30); long f(int n)if( _2_ ) return 1;else return f(n-1)+f(n-2)

7、;12. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入 m、n(要求输入数均大于 0) ,输出它们的最大公约数。#include void main()int m,n,k;while(scanf(“%d%d“,for( _2_; n%k!=0|m%k!=0; k-);printf(“%dn“,k);13. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意

8、:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输出 61000 之间的完数(1 个数的因子和等于其自身的数:6=1+2+3、28=1+2+4+7+14,则 6、28 都是完数) 。#include void main()int i,j,s;for(i=6;ivoid main()int n,k=0; scanf(“%d“,while( _1_ )k+;_2_;printf(“%dn“,k);615. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能

9、:输入 m、n(要求输入数均大于 0,且 m=n) ,输出它们的最小公倍数。#include void main()int m,n,k;/* 1 */while(scanf(“%d%d“, gets(s); printf(“%sn“,f(s); _1_ f(char* x)char t; int i,n;_2_for(i=0;i#include #include void main()int n,i;/* 1 */char str;scanf(“%dn“, str=(char*)malloc(n); gets(str);/* 2 */for(i=1;i=afloat f(float *x,in

10、t n,enum FLAG flag)float y; int i;_1_for(i=1;iflag*y) y=xi;return y;void main()float a6=3,5,9,4,2.5,1,b5=3,-2,6,9,1;printf(“%.2fn“,f(a,6,positive)- _2_ );19. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:对 x=1,2,.,10,求 f(x)=x*x-5*x+sin(x)的最大值。#incl

11、ude #include #define f(x) x*x-5*x+sin(x)void main()int x; float max;_1_for(x=2;x#include #include void main()int i,n;/* 1 */struct axy float x,y; a;scanf(“%d“,8a=(float*) malloc(n*2*sizeof(float);for(i=0;ivoid main()char x80,y26; int i,j,ny=0; gets(x);for(i=0;xi!=0;i+)if(xi=A scanf(“%d“,_ 1 _while(n

12、!=0)_ 2 _n=n/10;printf(“%dn“,s);23. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:运行时输入 10 个数,然后分别输出其中的最大值、最小值。9#include void main()float x,max,min; int i;/* 1 */for(i=0;imax) max=x;if(x#include void main()float x,eps,s=1,t=1,i=1;scanf(“%f%f“,do/* 1 */t=

13、-t*x/+i;s+=t;/* 2 */while(fabs(t)=eps)printf(“%fn“,s);25. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:调用函数 f,求二维数组 a 中全体元素之和。#include float f( _1_ )float y=0; int i,j;for(i=0;ivoid swap(_1_) /*交换两个数的位置*/int temp;temp = *pa; *pa = *pb; *pb = temp;

14、void main()int a,b,c,temp;scanf(“%d%d%d“,if(ab) swap(if(bc) swap(if(_2_) swap(printf(“%d,%d,%d“,a,b,c);27. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:调用函数 f,从字符串中删除所有的数字字符。#include #include #include void f(char *s)int i=0;while(si!=0)if(isdigit(

15、si) _1_(s+i,s+i+1);_2_ i+;void main() char str80; gets(str); f(str); puts(str); 28. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:将输入的十进制正整数 n 通过函数 Dec2Bin 转换为二进制数,并将转换结果输出。#include void Dec2Bin(int m)int bin32,j;for(j=0;m!=0;j+)11binj= _1_;m=m/2;f

16、or(;j!=0;j-) printf(“%d“, _2_ );void main() int n; scanf(“%d“, Dec2Bin(n); 29. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:将两个字符串连接起来。#include void main()char s180,s240;int i=0,j=0;printf(“nInput the first string:“); scanf(“%s“,s1);printf(“nInput the s

17、econd string:“); scanf(“%s“,s2);while (s1i !=0)/* 1 */i+1;while (s2j !=0)/* 2 */s1+i=s2+j; /* 拼接字符到 s1 */s1i =0;printf(“nNew string: %s“,s1);30. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:将输入的十进制整数 n 通过函数 DtoH 转换为十六进制数,并将转换结果以字符串形式输出。例如:输入十进制数 7

18、9,将输出十六进制 4f。# include # include char trans(int x)if(xvoid itoa(long i,char *s)if(i=0) return;/* 1 */*s=1+i%10;itoa(i/10,s-1);void main()long n; char str7=“; scanf(“%ld“,/* 2 */itoa(n,str+6);printf(“%s“,str);32. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程

19、序功能:将一个 char 型数的高 4 位和低 4 位分离,分别输出,如 22(二进制:00010110)输出为1 和 6。#include void main()char a,b1,b2,c; scanf(“%d“,/* 1 */b1=aint find(char *str)char *fstr=“the“; int i=0,j,n=0;while (stri!=0)for(_1_)if (strj+i!=fstrj) break;if(_2_) n+;i+;return n;void main() char a80; gets(a); printf(“%d“,find(a); 34. 在考

20、生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “* N *”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。例如:输入“abc123+xyz.5“,应输出“abcxyz“。#include #include void main()char str256; int i,j,k=0,n;gets(str); n=strlen(str);for(i=0;iz)/*2*/strn=stri; n+;strk=0;printf(“%sn“,str);35. 在考生目录的 Pap

21、er 子目录下,有 Modify.c 文件,该文件中 “* N *”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串 t 中,再将字符串中的字符按逆序连接到字符串 t 后面。例如:输入“ABCD“ ,则字符串 t 为“ABCDDCBA“。# include # include void fun(char *s,char *t)int i,sl; sl=strlen(s);for(i=0;i#define N 10void main()int i,j,min,temp; int aN=5,4,3,

22、2,1,9,8,7,6,0;printf(“nThe array is:n“); /* 输出数组元素 */for (i=0;istruct STUDENT char name16; int math; int english; int computer; int average; ;void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */int sum=0;sum = _1_;pst-average = sum/3;void main()int i;struct STUDENT st4=“Jessica“,98,95,90,“Mike“,80,80,9

23、0,“Linda“,87,76,70,“Peter“,90,100,99;for(i=0;ivoid f(int *a,int *m)int i,j;for(i=0;i#includevoid main()int i,a,b,c;for(i=100;ivoid main()char s80; int i,j;gets(s);for(i=j=0;_1_;i+)if(si != c)sj=si;_2_sj=0;puts(s);41. 在考生目录的 Paper 子目录下,有 Modify.c 文件,该文件中 “_ N _“是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,

24、否则后果自负) 。该程序功能:分别统计字符串中英文字母、数字和其他字符出现的次数。#include #include void main()char a80; int n3=0,i;gets(a);_1_if(tolower(ai)=a 25. float *x,int m,int n ai 26. int* pa,int* pb ab 27. strcpy else 28. m%2 binj-1 29. i+; s1i+=s2j+; 30. return a+x-10; *str+=trans(n%16); 31. *s=0+i%10; itoa(n,str+5); 32. b1=a4; b

25、2=a 33. j=0;j=a temp=amin; amin=ai; ai=temp; 37. pst-math+pst-english+pst-computer pow(a,3)+pow(b,3)+pow(c,3)=i 40. si!=0 j+; 41. for(i=0;ai!=0;i+) ai=0 int x,y,x1,y1; float z,z1;x1=0; y1=0;z1=10*cos(x1-4)+5*sin(y1-2);for(x=0;xz) x1=x; y1=y; z1=z; p=fopen(“design.dat“,“w“);fprintf(p,“%d,%d“,x1,y1);f

26、close(p);2. 设计程序:计算 27 的小于 1.00001 的 2n 次方根(27 的 2n-2 次方根不小于 1.00001),将 n 以格式“%d“写到考生目录中 Paper 子目录下的新建文件 design.dat 中。#include #include void main()FILE *p; float x=27; int n=0;p=fopen(“design.dat“,“w“);don+;while(pow(x,1.0/(2*n)=1.00001 | pow(x,1.0/(2*n-2)#include void main()FILE *p; int i; float x=

27、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;for(i=0;i#include void main()FILE *p;int n=1;while(n%3!=1 | n%5!=3 | n%7!=5 | n%9!=7) n+;p=fopen(“design.dat“,“w“);fprintf(p,“%d“,n);fclose(p);5. 设计程序:在 6 至 5000 内找出所有的亲密数对,并将每对亲密数用 fprintf(p,“%6d,%6dn“,a,b); 语句写到考生目录中 Paper 子目录下

28、的新建文件 design.dat 中。 说明:若 a、b 为 1 对亲密数,则 a 的因子和等于 b、b 的因子和等于 a、且 a 不等于 b。如:220、284 是 1 对亲密数,284、220 也是 1 对亲密数。#include void main()FILE *p; int a,b,c,k;p=fopen(“design.dat“,“w“);for(a=6;a20#include void main()FILE *p; char *s=“634,.%w|SQ2“,c;int i,j,k,n=strlen(s);p=fopen(“design.dat“,“w“);for(i=0;isj)

29、 k=j;if(k!=i) c=si; si=sk; sk=c; for(i=0;ivoid main()FILE *p; int n=0,a,b,c;p=fopen(“design.dat“,“w“);for(a=1;a#include void main()float y=1.05; int n=1; FILE *p;p=fopen(“design.dat“,“w“);while(pow(1.05,n)=1e6 | pow(1.05,n+1)21#includevoid main()FILE *p;int i; float x=2.345,t=1.0,y=0.0;float a10=1.2

30、,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9;p=fopen(“design.dat“,“w“);y=a0;for(i=1;ivoid main()FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen(“design.dat“,“w“);x1=1; y1=1;min=f(x1,y1);for(x=1;xf(x,y) min=f(x,y); x1=x; y1=y; fprintf(p,“%d,%d“,x1,y1);fclose(p);float f(float u,float v)return

31、 (3.14*u-v)/(u+v);11. 设计程序:在 6 至 10000 内找出所有的合数,并顺序将每个合数用语句“fprintf(p,“%6d“,n)”写入到考生目录中 Paper 子目录下的新建文件 design.dat 中。 说明:某数等于其诸因子之和则该数为合数,如 6=1+2+3,28=1+2+4+7+14 则 6、28 就是合数。#include void main()FILE *p; int n,i,s;p=fopen(“design.dat“,“w“);for(n=6;n#include void main()float a33=1.3,2.7,3.6,2,3,4.7,3,

32、4,1.27;FILE *p; float x; int i,j;for(i=0;i#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

33、.dat“,“w“);for(i=0;ic) minc=c;fprintf(p,“%f“,minc);fclose(p);2314. 设计程序:计算表达式 1+2!+3!+.+12!的值,并将计算结果以格式“%ld“写入到考生目录中Paper 子目录下的新建文件 design.dat 中。#include void main()FILE *p; long s=1,k=1; int i;p=fopen(“design.dat“,“w“);for(i=2;i#include#includeint JSValue(long m)char s15,n; int i;ltoa(m,s,10); n=st

34、rlen(s);for(i=0;i#include 24void 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;p=fopen(“design.dat“,“w“);s=0;for(i=0;i#include void main()FILE *p; float f(float),max,x;p=fopen(“design.dat“,“w“);max=f(1); x=2;while(xvoid main()FILE *p; int s=0,i=0;char *a=“r235%3

35、4cdDW,.“;p=fopen(“design.dat“,“w“);while(ai!=0)s+=ai;i+;fprintf(p,“%d“,s);fclose(p);19. 设计程序:数组元素 xi、yi表示平面上某点坐标,统计 10 个点中同处在圆 (x-1)*(x-1)25+(y+0.5)*(y+0.5)=25 与(x-0.5)*(x-0.5)+y*y=36 内的点数 k,并将变量 k 的值以格式“%d“写到考生目录中 Paper 子目录下的新建文件 design.dat 中。#include #include void main()FILE *p; int i,k=0;float x=

36、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;i#include void main()FILE *p; float s=1,t=1,i=3;p=fopen(“design.dat“,“w“);t=-t/(i-1)*i);while(fabs(t)=1e-5)s+=t; i=i+2;t=-t/(i-1)*i);fprintf(p,“%.6f“,s);fclose(p);2

37、1. 设计程序:计算多项式 a0-a1*x+a2*x*x/2!-a3*x*x*x/3!+.的值,并将其以格式“%f“写到考生目录中 Paper 子目录下的新建文件 design.dat 中。#include #include void main()FILE *p; int i; float x=1.279,t,y;float a10=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65;p=fopen(“design.dat“,“w“);t=1.0; y=a0;for(i=1;i#include void main()FILE *p; int i,k=0

38、;float x10=7.23,-1.5,5.24,2.1,-12.45,6.3,-5,3.2,-0.7,9.81,d,v=0;for(i=0;ifabs(xi-v)d=fabs(xi-v);k=i;fprintf(p,“%.5f“,xk);fclose(p);23. 设计程序:计算 2 的平方根、3 的平方根、.、10 的平方根之和,要求计算结果具有小数点后 10 位有效位数,并以格式“%.10fn“写到考生目录中 Paper 子目录下的新建文件 design.dat 中。#include #include void main()FILE *p;int i; double s=0.0;p=f

39、open(“design.dat“,“w“);for(i=2;ivoid main()FILE *p; int x,y,z,k=0;p=fopen(“design.dat“,“w“);for(x=-45;xvoid main()FILE *p;int cnt,sum;int i,b1,b10,b100,b1000;p=fopen(“design.dat“,“w“);cnt=sum=0;for(i=1000;i#include void main()FILE *p; float s=0,a=81,i;p=fopen(“design.dat“,“w“);i=1;while(ivoid main()

40、float a33=1.3,2.7,3.6,2,3,4.7,3,4,1.27;FILE *p;int i,j; float t;p=fopen(“design.dat“,“w“);for(i=0;i#includevoid main()FILE *p; int i,w;char *s=“we45*p=fopen(“design.dat“,“w“);i=0;while(si!=0)w=(i+1)*si;fprintf(p,“%d “,w);i+;fclose(p);29. 设计程序:求斐波那契(Fibonacci)数列中大于 t 的最小的一个数,结果由函数 JSValue 返回,其中斐波那契数列

41、 F(n)的定义为: F(0)=0,F(1)=1,F(n)=F(N-1)+F(n-2)。分别计算当 t=1000 和 t=3000时的结果,将计算结果输出到考生目录中 Paper 子目录下的新建文件 design.dat 中。#includeint JSValue(int t)int a=0,b=1,temp;while(avoid main()FILE *p; long s=0,i,a40;p=fopen(“design.dat“,“w“);a0=1; a1=1;s+=a0+a1;for(i=2;i#includevoid main()FILE *p;int i;float x10=-1.5

42、,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6;float y10=3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4;float s=0.0;p=fopen(“design.dat“,“w“);for(i=0;ivoid main()FILE *fp;float s=100,h=100;int i;fp=fopen(“design.dat“,“w“);for(i=1;i#include void main()FILE *fp;float n=1,t=1,pi=0;int i;fp=fopen(“design.dat“,“w“);i=1;while(fabs(n)=1e-6)pi+=n; i+=2;t=-t; n=t/i;pi*=4;fprintf(fp,“%.6f“,pi);fclose(fp);34. 设计程序:某公司 1999 年年产量 11.5 万件,生产能力每年提高 9.8%,求出产量能超过 x 万件的年份,结果由函数 Year 返回。计算当 x=20 和 x=30 时的结果,将计算结果输出到考生目录中Paper 子目录下的新建文件 design.dat 中。#includeint Year(int x)int p=11.5,y=1999;while(p=x)p=p*(1+0.098);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报