2021年浙江省计算机二级C语言上机题库_第1页
2021年浙江省计算机二级C语言上机题库_第2页
2021年浙江省计算机二级C语言上机题库_第3页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、第二部份c 程序设计上机操作题 .错误错误! !未定义书签。未定义书签。一、数列求和. 错误错误! !未定义书签。未定义书签。二、最大公约数、最小公倍数. 错误错误! !未定义书签。未定义书签。三、排序算法. 错误错误! !未定义书签。未定义书签。四、数组. 错误错误! !未定义书签。未定义书签。五、求整数 n 各位数字及各数字之和. 错误错误! !未定义书签。未定义书签。六、平面上各点之间距离. 错误错误! !未定义书签。未定义书签。七、数制转换. 错误错误! !未定义书签。未定义书签。八、字符串解决. 错误错误! !未定义书签。未定义书签。九、最大值与最小值. 错误错误! !未定义书签。未

2、定义书签。十、斐波那契(fibonacci)数列 .错误错误! !未定义书签。未定义书签。十一、水仙花、完数、回文数与密切数. 错误错误! !未定义书签。未定义书签。十二、方程求根. 错误错误! !未定义书签。未定义书签。十三、回文数、因子、质因子、素数. 错误错误! !未定义书签。未定义书签。十三、其她算法. 错误错误! !未定义书签。未定义书签。第二部份第二部份c c 程序设计上机操作题程序设计上机操作题一、数列求和一、数列求和1、程序调试题试题一试题一该程序功能:输入x 和正数 eps,计算多项式1-x+x*x/2!-x*x*x/3!+.1-x+x*x/2!-x*x*x/3!+.和直到末

3、项绝对值不大于 eps 为止。#include #include void main() float x,eps,s=1,t=1,i=1;scanf(%f%f,&x,&eps);do /* 1 */* 1 */t=-t*x/+i;/+i-/+i-i+i+s+=t;/* 2 */ while(fabs(t)eps);/ -/ = =printf(%fn,s);试题二试题二该程序功能:运营时若输入a、n 分别为 3、6,则输出下列表达式值:3+33+333+3333+33333+333333#include void main()int i,a,n;long t=0;/* 1 */

4、s=0;/s=0-s=0-long s=0long s=0scanf(%d%d,&a,&n);for(i=1;i=n;i+) /* 2 */t=t*10+i;/i- i-1 1s=s+t;s=s*a;printf(%ldn,s);2、程序填空题试题一试题一程序功能:调用函数 f 计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当 x=1.7时值。#include float f(float,float*,int);void main( )float b5=1.1,2.2,3.3,4.4,5.5;printf(“%fn”,f(1.7,

5、b,5);float f(1)/ float f( float x/ float f( float x,float a float a ,int n)int n)float y=a0,t=1; int i;for(i=1;in;i+) t=t*x;y=y+ai*t;2;/ return y/ return y3、程序设计题试题一试题一设计程序:计算多项式 a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+值,并将其值以格式%.6f写入到考生目录中 paper 子目录下新建文献 design.dat 中。#include#includevoid main()file

6、*p;int i;float x=2.345,t=1.0,y=0.0;float a10=1.2,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9;/* 考生在这里添加代码p=fopen(p=fopen(“ “design.datdesign.dat” ”, ,” ”w w” ”); );y=a0;y=a0;for(i=1;i10;i+)for(i=1;i10;i+) t=t*x;t=t*x;y=y+ai*sin(t);y=y+ai*sin(t); fprintf(p,fprintf(p,” ”%.6f%.6f” ”,y);,y);fclose(p);fclos

7、e(p);试题二试题二计程序:计算多项式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(p=fopen(“ “design.datdesign.dat” ”, ,” ”w w” ”); );t=1;t=1;y=a0;y

8、=a0;for(i=1;i10;i+)for(i=1;i10;i+)t=-t*x/i;t=-t*x/i;y=y+ai*t;y=y+ai*t; fprintf(p,%f,y);fprintf(p,%f,y);fclose(p);fclose(p);试题三试题三设计程序:计算表达式 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=12;i+)k

9、=i*k;s=s+k;fprintf(p,%ld,s);fclose(p);试题四试题四设计程序: 计算多项式 a0+a1*x+a2*x*x+a3*x*x*x+.值, 并将其值以格式%f写到考生目录中 paper 子目录下新建文献 design.dat 中。#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;/ 考生在这里添加代码p=fopen(design.dat,w);p=fopen(design.

10、dat,w);for(i=0;i10;i+)for(i=0;i10;i+) y=y+t*ai; y=y+t*ai;t=t*x;t=t*x; fprintf(p,%f,y);fprintf(p,%f,y);fclose(p);试题五试题五设计程序:计算 2 平方根、3 平方根、.、10 平方根之和,规定计算成果具备小数点后 10位有效位数,并以格式%.10fn写到考生目录中 paper 子目录下新建文献 design.dat 中。#include #include void main()file *p;/考生在这里添加代码int i;float s=0;p=fopen(design.dat,w)

11、;for(i=2;i=10;i+)s=s+sqrt(i);fprintf(p,%.10f,s);fclose(p);试题六试题六设计程序:数列第 1 项为 81,此后各项均为它前 1 项正平方根,记录该 数列前 30 项之和,并以格式%.3f写到考生目录中 paper 子目录下新建文献 design.dat 中。#include #include void main() file *p;float s=0,a=81,i;/考生在这里添加代码p=fopen(design.dat,w);p=fopen(design.dat,w);for(i=1;i=30;i+)for(i=1;i=30;i+)s=

12、s+a;s=s+a;a=sqrt(a);a=sqrt(a); fprintf(p,%.3f,s);fprintf(p,%.3f,s);fclose(p);fclose(p);试题七试题七在数组 a10 个数中求平均值 v, 将不不大于等于 v 数组元素进行求和, 并将成果以格式%.5f写到考生目录中 paper 子目录下新建文献 design.dat 中。#include void main() file *p;int i;float a10=7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81,sum,v=0;/考生在这里添加代码p=fopen(design.d

13、at,w);p=fopen(design.dat,w);for(i=0;i10;i+)for(i=0;i10;i+)v=v+ai/10;v=v+ai/10;sum=0;sum=0;for(i=0;i10;i+)for(i=0;iv)if(aiv)sum=sum+ai;sum=sum+ai;fprintf(p,%.5f,sum);fprintf(p,%.5f,sum);fclose(p);fclose(p);试题八试题八设计程序: 运用公式/41-1/3+1/5-1/7+公式计算近似值,直到某一项绝对值不大于 1e-6 为止。 (/4 成果不包括此项)将成果以格式%.6f写入到考生目录中 pap

14、er 子目录下新建文献 design.dat 中。#include #include void main()file *fp;float n=1,t=1,pi=0;int i;/考生在这里添加代码fp=fopen(design.dat,w);p=fopen(design.dat,w);while(1.0/t=1e-6)while(1.0/t=1e-6)pi=pi+n*1.0/t;pi=pi+n*1.0/t;t=t+2;t=t+2;n=-n;n=-n; pi=pi*4;pi=pi*4;fprintf(fp,%.6f,pi);fprintf(fp,%.6f,pi);fclose(fp);fclos

15、e(fp);试题九试题九计算数列 1,-1/3! ,1/5! ,-1/7!和至某项绝对值不大于1e-5 为止(该项不累加) ,将成果以格式%.6f写入到考生目录中 paper 子目录下新建文献 design1.dat 中。#include #include void main() file *p;float s=1,t=1,i=3;/ 考生在这里添加代码p=fopen(d:design1.txt,w);t=-t*(i-1)*i;while(fabs(1/t)=1e-5)s+=1/t;i=i+2;t=-t*(i-1)*i;fprintf(p,%.6,s);fclose(p);二、最大公约数、最小

16、公倍数二、最大公约数、最小公倍数1、程序调试题试题一试题一该程序功能:输入 m、n(规定输入数均不不大于0,且 m=n) ,输出它们最小公倍数。#include void main()int m,n,k;/* 1 */while(scanf(%d%d,&m,&n),m0 & n0);/ m0 & n0-/ m0 & n0&n0&m=n)!(m0&n0&m=n)for(k=m;k%n!=0;)/* 2 */k=k+n;/ /改为:改为:k=k+mk=k+mprintf(%dn,k);6/82、程序填空题试题一试题一该程序功能

17、:输入 m、n(规定输入数均不不大于0) ,输出它们最大公约数。#include void main()int m,n,k;while(scanf(%d%d,&m,&n),_1_ );/ /! (n0&m0n0&m0)for( _2_;n%k!=0|m%k!=0;k-);/k=m/k=m 或或 k=nk=nprintf(%dn,k);三、排序算法三、排序算法1、程序调试题该程序功能:用选取法选取法对 10 个整数按升序排序。#include #define n 10void main()inti,j,min,temp;int an=5,4,3,2,1,9,8,7

18、,6,0;printf(nthe array is:n);for (i=0;in;i+)printf(%5d,ai);for (i=0;in-1;i+)min = i;for (j=i+1;jn;j+)/* 1 */if(amin=aj)min =j;/* 2 */temp=amin;amin=aj;aj=temp;printf(nthe sorted numbers:n);for (i=0;in;i+)printf(%5d,ai);printf(n);2、程序设计题/* 输出数组元素 */* 排序操作 */=-/ /* 数据互换 */j-/j-i i/* 输出排序成果 */该程序功能:用冒泡

19、法对 10 个整数按升序排序。#include #define n 10void main()inti,j,min,temp;int an=5,4,3,2,1,9,8,7,6,0;printf(nthe array is:n);/* 输出数组元素 */for (i=0;in;i+)printf(%5d,ai);/for (i=0;in;i+)/* 排序操作 */for (j=0;jaj+1)temp=aj;aj=aj+1;aj+1=temp;/* 数据互换 */printf(nthe sorted numbers:n);/* 输出排序成果 */for (i=0;in;i+)printf(%5d

20、,ai);printf(n);四、数组四、数组1、程序填空题试题一试题一该程序功能:输入数组 x7,调用函数 f,去除数组中负数,输出成果为:1346#include void f(int *a,int *m) int i,j;for(i=0;i*m;i+)if(ai0) for(j=i-;j*m-1;j+) aj=aj+1;_1_;/ /(*m*m)- -void main() int i,n=7,x7=1,-2,3,4,-5,6,-7;_2_;/f(x,&n)/f(x,&n)for(i=0;in;i+) printf(%5d,xi);printf(n);试题二试题二该程序功

21、能: 函数 f 将数组循环左移 k 个元素,数组 x7调用函数 f 后输出成果为: 47123#include void f(int *a,int n,int k) int i,j,t;56for(i=0;ik;i+) _1_;/t=a0/t=a0for( _2_ ) aj-1=aj;/j=1;jn;j+/j=1;jn;j+an-1=t;void main() int i,x7=1,2,3,4,5,6,7;f(x,7,3);for(i=0;i7;i+) printf(%5d,xi); printf(n);试题三试题三该程序功能:调用函数 f,求二维数组 a 中全体元素之和。#include f

22、loat f( _1_)/float *x,int m,int n/float *x,int m,int n float y=0;int i,j;for(i=0;im;i+) for(j=0;jn;j+) y=y+*(*(x+i)+j);return y;void main() float a34=1,2,3,4,5,6,7,8,9,10,11,12,*b3;int i;for(i=0;i3;i+) bi=_2_;/*(a+i)/*(a+i)printf(%.2fn,f(b,3,4);试题四试题四求出数组 a 中相邻两个元素和,并将这些和存储在数组a 中,按每一行 3 个元素形式输出。(例如:

23、b1=a0+a1,b2=a1+a2,b9=a8+a9)#include void main()int a10,b10,i;printf(ninput 10 numbers: );for (i=0;i10;i+)/* 数组输入 */scanf(%d,&ai);for (i=1;i10;i+)bi=_ ai-1+ai_;/* 计算 b 数组中元素 */for (i=1;i10;i+)printf(%3d,bi);if (_i%3=0_)printf(n);/* 每行打印 3 个数据 */2、程序设计题试题一试题一设计程序:将数组 a 每 1 行均除以该行上主对角元素(第 1 行同除以 a0

24、0,第 2 行同除以a11,.) ,然后将 a 数组写入到考生目录中 paper 子目录下新建文献 design.dat 中新建文献 design.dat 中。#include void main() float a33=1.3,2.7,3.6,2,3,4.7,3,4,1.27;file *p;/*如下规定考生写代码*/float temp;float temp;int i,j;int i,j;p=fopen(p=fopen(“ “design.datdesign.dat” ”, ,” ”w w” ”); );for(i=0;i3;i+)for(i=0;i3;i+)temp=aii;temp=

25、aii;for(j=0;j3;j+)for(j=0;j3;j+)fprintf(p,%5.1f,aij/temp);fprintf(p,%5.1f,aij/temp);fprintf(p,n);fprintf(p,n); fclose(p);fclose(p);试题二试题二设计程序:将数组 a 每 1 行均除以该行上绝对值最大元素, 然后将 a 数组写入到考生目录中paper 子目录下新建文献 design.dat 中。#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

26、 i,j;/考生在这里添加代码for(i=0;i3;i+)for(i=0;i3;i+) x=ai0;x=ai0;for(j=0;j3;j+)for(j=0;j3;j+)if(fabs(x)fabs(aij)if(fabs(x)fabs(aij)x=aij;x=aij;for(j=0;j3;j+)for(j=0;j3;j+)aij=aij/x;aij=aij/x; p=fopen(design.dat,w);p=fopen(design.dat,w);for(i=0;i3;i+) for(j=0;j3;j+) fprintf(p,%10.6f,aij);fprintf(p,n);fclose(p

27、);试题三试题三在整数数组 a 中找出偶数放到数 b 中,对数组b 按从小到大顺序排序后发格式“%3d”每行3 个数写入考生文献夹中paper 子文献夹下新建文献design1.dat。#include void main() file *p;int i,j,temp,n=0;int a10=7,6,20,3,14,88,53,62,10,29,b10;/考生在这里添加代码p=fopen(design1,w);for(i=0;i10;i+)if(ai%2=0)bn+=ai;for(i=0;in-1;i+)for(j=0;jbj+1)temp=bj;bj=bj+1;bj+1=temp;for(i

28、=1;i=n;i+)if(i%3=0) fprintf(p,%3dn,bi-1);else fprintf(p,%3d,bi-1);fclose(p);五、求整数五、求整数 n n 各位数字及各数字之和各位数字及各数字之和1、程序调试题试题一试题一该程序功能:运营时输入整数 n,输出 n 各位数字之和(如 n=1308 则输出 12,n=-3204 则输出 9) 。#include #include void main()int n,s=0;scanf(%d,&n);n=fabs(n);/* 1 */while(n1) /n/n 或或 n0n0 或或 n!n!=0s=s+n%10;/*

29、 2 */n=n%10;/%-/%-/ /printf(%dn,s);2、程序填空题试题一试题一该程序功能:求输入整数各位数字之和,如输入234 则输出 9,输入-312 则输出 6。#include #include void main()int n,s=0;scanf(%d,&n);_ 1 _/n=fabs(n);/n=fabs(n);while(n!=0) _ 2 _/s=s+n%10s=s+n%10n=n/10;printf(%dn,s);试题二试题二该程序功能:输入 1 个整数后,输出该数位数(若输入3214 则输出 4,输入-23156则输出 5) 。#include vo

30、id main()int n,k=0;scanf(%d,&n);while( _1_ )/n/n 或或 n!=0n!=0k+;_2_;/n=n/10/n=n/10printf(%dn,k);试题三试题三该程序功能:调用函数 f,将 1 个整数首尾倒置,若程序输入12345,则输出 54321;若程序输入-34567,则输出-76543。#include #include long f(long n)long m,y=0; m=fabs(n);while(m!=0) y=y*10+m%10;_1_/m=m/10;m=m/10;if(n=0) return y;else _2_/ retu

31、rn -y;return -y;void main()printf(%ldt,f(12345); printf(%ldn,f(-34567);3、程序设计题试题一设计程序:选出 5000 如下符合条件自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差10 倍。计算并输出这些四位自然数个数 cnt 及这些数字和 sum 到考生目录中 paper 子目录下新建文献design.dat 中。#includevoid main()file *p;int cnt,sum;/* 考生在这里添加代码int i,q,b,s,g;cnt=0;su

32、m=0;p=fopen(“design.dat”,”w”);for(i=1000;i5000;i+)g=i%10;s=i%100/10;b=i%1000/100;q=i/1000;if(q+b=s+g & q+b=(g-q)*10)cnt+;sum=sum+q+b+s+g;fprintf(p,%d,%d,cnt,sum);fclose(p);六、平面上各点之间距离六、平面上各点之间距离1、程序调试题试题一试题一该程序功能:输入n,再输入n 个点平面坐标,然后输出那些距离坐标原点不超过5 点坐标值。#include #include #include void main()int i,n

33、;/* 1 */struct axy float x,y; a;/a-/a-*a*ascanf(%d,&n);a=(float*) malloc(n*2*sizeof(float);/a=(struct axy*) malloc(n*2*sizeof(float);for(i=0;in;i+)/* 2 */scanf(%f%f,ai.x,ai.y);/ ai.x-.&ai.x ai.y-.&ai.yai.x-.&ai.x ai.y-.&ai.yfor(i=0;in;i+)if(sqrt(ai.x*ai.x+ai.y*ai.y)=5)printf(%f,%

34、fn,ai.x,ai.y);2、程序填空题试题一试题一在考生目录下,有modify.c程序,该程序中“n”是依照程序功能需要填充某些,请完毕程序填充(注意:不得加行、减行、加句、减句,否则后果自负)该程序功能:输入 n 和平面上 n 个点坐标,计算各点间距离总和。#include #include #define f(x1,y1,x2,y2) sqrt(pow(x2-x1,2)+pow(y2-y1,2)1/ #include / #include 或或#include #include void main( )float *x,*y,s=0; int i,j,n;scanf(“%d”,&

35、;n);x=(float*)malloc(sizeof(float)*n*2);y=x+2;/(float*)malloc(sizeof(float)*n*2);(float*)malloc(sizeof(float)*n*2);for(i=0;in;i+) scanf(“%f%f”,x+i,y+i);for(i=0;in-1;i+)for(j=0;jn;j+)s+=f(xi,yi,xj,yj);printf(“%.2fn”,s);3、程序设计题试题一试题一设计程序:xi,yi分别表达平面上一种点坐标,求下列 10 个点与点(1.0,1.0)距离总和,并将成果以格式%.6f写入到考生目录中 p

36、aper 子目录下新建文献 design.dat 中。#include#includevoid main()file *p;int i;float x10=-1.5,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(p=fopen(“ “design.datdesign.dat” ”, ,” ”w w” ”) );/以写方式打开文献for(i=0;i10;i+)for(i=0;i10;i+)s=s+sqrt

37、(s=s+sqrt((xi-1xi-1)* *(xi-1xi-1)+(yi-1)*(yi-1)+(yi-1)*(yi-1);/求与点(1.0,1.0)距离之和fprintf(p,fprintf(p,” ”%.6f%.6f” ”,s),s);/以%.6f 格式将和写到文献fclose(p);fclose(p);试题二试题二设计程序:数组元素 xi、yi表达平面上某点坐标,记录所有各点间最短距离,并将其值以格式%f写到考生目录中 paper 子目录下新建文献 design.dat 中。#include #include #define len(x1,y1,x2,y2) sqrt(x1-x2)*(x

38、1-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(p=fopen(“ “design.datdesign.dat” ”, ,” ”w w” ”); );for(i=0;i10;i+)for(i=0;i10;i+)for(

39、j=i+1;j10;j+)for(j=i+1;j10;j+)c=len(xi,yi,xj,yj);c=len(xi,yi,xj,yj);if(cminc)if(cminc)minc=c;minc=c; fprintf(p,fprintf(p,” ”%f%f” ”,minc);,minc);fclose(p);fclose(p);试题三试题三设 计程 序: 数组 元素 xi、 yi表 达 平 面 上某 点坐 标, 记录 10 个 点中 处在 圆(x-1)*(x-1)+(y+0.5)*(y+0.5)=25 内点数 k,并将变量 k 值 以格式%d写到考生目录中 paper子目录下新建文献 desi

40、gn.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);p=fopen(design.dat,w);for(i=0;i10;i+)for(i=0;i10;i+)if(xi-1)* (xi-1)+ (yi-0.5)* (yi-0.5)25)if(xi-1)*

41、(xi-1)+ (yi-0.5)* (yi-0.5)25)k+;k+;fprintf(p,%d,k);fprintf(p,%d,k);fclose(p);fclose(p);试题四试题四程序设计题:考生目录下有design.c 程序,请完毕如下功能:xi,yi表达点 d(i)平面坐标,求 d(0)至 d(1)、d(1)至 d(2)、d(4)至 d(0)连线所构成边形面积,并将所求面积以格式“%.4f”写到考生目录下新建文献design.dat。#include #include void main( )file 8p;int i;float s,a,b,c,sdim=0;float x5=-4

42、.5,0.5,4.2,2.7,-3;float y5=2.3,4.7,1.3,-2.5,-3.3;p=fopen(“design.dat”,“w”);/ 此处起规定考生自己编制程序for(i=1;i4;i+)for(i=1;i4;i+) a=sqrt(x0-xi)*(x0-xi)+(y0-yi)*(y0-yi);a=sqrt(x0-xi)*(x0-xi)+(y0-yi)*(y0-yi);b=sqrt(xi-xi+1) *(xi-xi+1)+(yi-yi+1)*(yi-yi+1);b=sqrt(xi-xi+1) *(xi-xi+1)+(yi-yi+1)*(yi-yi+1);c= sqrt(x0-

43、xi+1) *(x0-xi+1)+(y0-yi+1)*(y0-yi+1);c= sqrt(x0-xi+1) *(x0-xi+1)+(y0-yi+1)*(y0-yi+1);s=(a+b+c)/2;s=(a+b+c)/2;sdim+=sqrt(s*(s-a)*(s-b)*(s-c);sdim+=sqrt(s*(s-a)*(s-b)*(s-c); fprintf(pfprintf(p,“ “%.4f%.4f” ”,sdim);sdim);fclose(p);fclose(p); 七、数制转换七、数制转换1、程序调试题试题一试题一将输入十进制整数 n 通过函数 dtoh 转换为十六进制数,并将转换成果

44、以字符串形式输出。例如:输入十进制数 79,将输出十六进制 4f。# include # include char trans(int x)if(x10) return 0+x;/*1*/else return a+x;/ / a a +x-+x- a a +x-10+x-10int dtoh(int n,char *str)int i=0;while(n!=0)stri=trans(n%16);/*2*/n%=16;/%-/%-/ /i+;return i-1;void main()int i,k,n;char *str;scanf(%d,&n);k=dtoh(n,str);for

45、(i=0;i=k;i+) printf(%c,strk-i);2、程序填空题试题一试题一该程序功能:将输入十进制正整数 n 通过函数 dec2bin 转换为二进制数,并将转换成果输出。#include void dec2bin(int m)int bin32,j;for(j=0;m!=0;j+)binj= _1_;/m%2/m%2m=m/2;for(;j!=0;j-)printf(%d,_2_ );/binj-1/binj-1void main()int n;scanf(%d,&n);dec2bin(n);试题二试题二将输入十进制整数 n 通过函数 dtoh 转换为十六进制数,并将转换

46、成果以字符串形式输出。例如:输入十进制数 79,将输出十六进制 4f。# include # include char trans(int x)if(x10) return 0+x;else _1_;/return x+/return x+ a a -10;-10;int dtoh(int n,char *str)int i=0;while(n!=0)_2_;/stri=trans(n%10);/stri=trans(n%10);n/=16;i+;return i-1;void main()int i,k,n;char *str;scanf(%d,&n);k=dtoh(n,str);f

47、or (i=0;i=k;i+) printf(%c,strk-i);八、字符串解决八、字符串解决1、程序调试题试题一试题一该程序功能: 输入一种字符串,将构成字符串所有非英文字母字符删除后输出。例如:输入abc123+xyz.5,应输出abcxyz。#include #include void main()char str256;int i,j,k=0,n;gets(str);n=strlen(str);for(i=0;in;i+)/*1*/if (tolower(stri)z)/= a a z z = z z |- |-&/*2*/strn=stri;n+;/n-n-k kstrk=

48、0;printf(%sn,str);试题二试题二该程序功能:输入 1 个字符串,按字母初次浮现顺序输出其中所浮现过大写英文字母。*如运营时输入字符串fontname and filename,应输出f o n t a m e i l 。#include void main()char x80,y26;int i,j,ny=0;gets(x);for(i=0;xi!=0;i+)if(xi=a&xi=z) for(j=0;jny;j+)/* 1 */if(yi=xj) continue;/i/i - -j jcontinue-continue-breakbreakif(j=ny) yny=

49、xi;ny+;/* 2 */for(i=0;i26;i+)/26-/26-nynyprintf(%c ,yi);printf(n);试题三试题三该程序功能:将两个字符串连接起来。#include void main()char s180,s240;int i=0,j=0;printf(ninput the first string:);scanf(%s,s1);printf(ninput the second string:);scanf(%s,s2);while (s1i !=0)/* 1 */i+1;/i+1-/i+1-i+i+while (s2j !=0)/* 2 */s1+i=s2+j

50、;/* 拼接字符到拼接字符到 s1s1s1i =0;printf(nnew string:%s,s1);*/ +i-*/ +i-i+i+j-+j-j+j+试题四试题四该程序功能:用递归法将一种六位整数 n 转换成字符串,例如输入 123456,应输出字符串123456。#includevoid itoa(long i,char *s)if(i=0)return;/* 1 */*s = 1+i%10;/ / 1 1 - 0 0 itoa(i/10,s-1);void main()long n;char str7=;scanf(%ld,&n);/* 2 */itoa(n,str+6);/s

51、tr+6-/str+6-str+5str+5printf(%s,str);试题五试题五该程序功能:分别记录字符串中所有英文字母中各元音字母个数。#include #include void main()char a81;int n5=0,i;gets(a);for(i=0;ai!=0;i+)/* 1 */switch(toupper(ai) /toupper-/toupper-tolowertolowercase a:n0+;break;case e:n1+;break;case i:n2+;break;case o:n3+;break;/* 2 */case u:n4+;/u-/u-u uf

52、or(i=0;i5;i+) printf(%dn,ni);试题六试题六该程序功能: 输入一种字符串,将构成字符串所有字符先按顺序存储到字符串 t 中,再将字符串中字符按逆序连接到字符串t * 背面。例如:输入 abcd,则字符串t 为abcddcba。# include # include void fun(char *s,char *t)int i,sl;sl=strlen(s);for(i=0;isl;i+)ti=si;for(i=0;isl;i+)/*1*/tsl+i=ssl-i;/ / tsl+i=ssl-i;改为 tsl+i=ssl-i-1;/*2*/tsl=0;/ / tsl=0;

53、改为 tsl+sl=0;tsl+sl=0;void main()char s100,t100;scanf(%s,s);fun(s,t);printf(%s,t);试题七试题七/*该程序功能:输入 n 以及不大于 n 个字符字符串,将字符串中所有小写字母改为相应大写字母,输出该字符串。*/#include #include #include void main()int n,i;/* 1 */char str;/ char str;- char str;-char *str;char *str;scanf(%dn,&n); str=(char*)malloc(n);gets(str);/

54、* 2 */for(i=1;i=a& stri=z) stri=stri-(a-a);puts(str);2、程序填空题试题一试题一该程序功能:分别记录字符串中英文字母、数字和其她字符浮现次数。#include #include void main()char a80;int n3=0,i;gets(a);_1_/for(i=0;istrlen(a);i+)/for(i=0;i=a & tolower(ai)=0 & ai=0 & ai=9)n1+;elsen2+;for(i=0;i3;i+) printf(%dn,ni);试题二试题二该程序功能:调用函数 f,

55、从字符串中删除所有数字字符。#include #include #include void f(char *s) int i=0;while(si!=0)if(isdigit(si) _1_(s+i,s+i+1);/strcpy/strcpy_2_i+;/else/elsevoid main() char str80;gets(str);f(str);puts(str);试题三试题三该程序功能:调用函数 f,将字符串中所有字符逆序存储,然后输出。例如,输入字/符串为123456,则程序输出成果为654321。#include #include void main()char s60,*f(ch

56、ar*);gets(s);printf(%sn,f(s);_1_f(char* x)/char */char *char t;int i,n;_2_/n=strlen(x);/n=strlen(x);for(i=0;in/2;i+) t=xi;xi=xn-1-i;xn-1-i=t;return x;试题四试题四在考生目录下,有modify.c程序,该程序中“n”是依照程序功能需要填充某些,请完毕程序填充(注意:不得加行、减行、加句、减句,否则后果自负) 。该程序功能:调用函数 f,从字符串中删除所有数字字符。#include #include #include void f(char *s)i

57、nt i=0;while(si!= 0)if(isdigit(si)1(s+i,s+i+1);/ strcpy/ strcpyelse2;/ i+/ i+void main( )char str80;gets(str);f(str);puts(str);试题五试题五该程序功能:函数 find 功能是搜索 the,若存在则返回个数,否则返回0。#include #include int find(char *str)char *fstr=the;int i=0,j,n=0;while (stri!=0)for(1)/ j=0;j3;j+if (strj+i!=fstrj) break;if (2

58、) n+;/!fstrji+;return n;void main()char a80;gets(a);printf(%d,find(a);3、程序设计题试题一设计程序:计算字符串 s 中每个字符权重值, 所谓权重值就是字符在字符串中位置值与该字符 ascii 码值乘积。位置值从 1 开始依此递增。将每个字符权重值,以格式%d 写入到考生目录中 paper 子目录下新建文献 design.dat 中。#include#includevoid main()file *p; int i,w;char *s=we45*&y3r#$1;/这里添加代码p=fopen(p=fopen(“ “des

59、ign.datdesign.dat” ”, ,” ”w w” ”); );i=0;i=0;while(si)while(si)w=si*(i+1);w=si*(i+1);fprintf(pfprintf(p,%d ,w);%d ,w);i+;i+; fclose(p);fclose(p);试题二试题二设计程序:累加 a 字符串中各个字符 ascii 码值,然后将累加和以格式%d写到考生目录中 paper 子目录下新建文献 design.dat 中。#include void main() file *p;int s=0,i=0;char *a=r235%34cddw,.;/考生在这里添加代码p

60、=fopen(design.dat,w);p=fopen(design.dat,w);for(;ai;i+)for(;ai;i+)s=s+ ai;s=s+ ai;fprintf(p,%d,s);fprintf(p,%d,s);fclose(p);fclose(p);九、最大值与最小值九、最大值与最小值1、程序调试题试题一试题一该程序功能:运营时输入10 个数,然后分别输出其中最大值、最小值。#include void main()float x,max,min;/* 1 */for(int i=1;imax) max=x;if(xmin) min=x;printf(%f,%fn,max,min);2、程序填空题试题一试题一该程序功能:对 x=1,2,.,10,求 f(x)=x*x-5*x+sin(x)最大值。#include #include #define f(x) x*x-5*x+sin(x)void main()int x;float max;_1_/max=f(1);/max=f(1

温馨提示

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

评论

0/150

提交评论