




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江省二级c语言上机考试真题介绍:浙江省二级c语言考试分为笔试和上机考试两块.取笔试和上机中分数较低的那个作为计算机二级的最终成绩,最后证书上按档次划分等级,其中60-79及格,80-89良好,90-100优秀。笔试部分分两块,一块是24道选择题(六道程序题,每题中间有四个空,每空有四个选项供选择),浙江省的计算机笔试选择题不考概念性内容,所以大家不用费心,另一块是程序编写,手写两个完整程序,一道循环数组(结合),一道是函数或指针。上机部分分两块,一块是计算机基本操作,即从access,ppt,excel,outlook,word,网页制作,文件夹操作中随机选择四道,另一块是编程,编程题可以打开编程软件c-free来做,编程中共五道题,一道改错,两道填空,最后两道是编写程序。(一)程序改错:1,10个数求最大最小值该程序中“/* N * /”的下一行中有错误, 请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时输入10个数,然后分别输出其中的最大值、最小值。 #include void main() float x,max,min; int i; /* 1 */ for(i=0;imax) max=x; if(x printf(%f,%fn,max,min); #include int main() float x,max,min; int i; /* 1 */ for(i=1;imax) max=x; if(xmin) min=x; printf(%f,%fn,max,min); 2,字符串反序连接下面程序中“* N *”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能: 输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接到字符串t 的后面。 例如:输入ABCD,则字符串t为ABCDDCBA。 # include # include void fun(char *s,char *t) int i,sl; sl=strlen(s); for(i=0;iti=si; for(i=0;i/*1*/ tsl+i=ssl-i; /*2*/ tsl=0; void main() char s100,t100; scanf(%s,s); fun(s,t); printf(%s,t); #include #include void fun(char *s,char *t) int i,sl; sl=strlen(s); for(i=0;isl;i+) ti=si; for(i=0;i1) if(n%i=0) printf(%dt,i); n/=i; else /* 2 */ n+; #include void main() int n,i; scanf(%d,&n); /* 1 */ i=2; while(n1) if(n%i=0) printf(%8d,i); n/=i; else /* 2 */ i+; 4,数字转字符下面程序中“/ * N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:用递归法将一个六位整数n转换成字符串,例如输入123456,应输出字符串123456。 #include void 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,&n); /* 2 */ itoa(n,str+6); printf(%s,str); #include void itoa(long i,char *s) if(i=0) return; /* 1 */ *s =0+i%10; itoa(i/10,s-1); int main() long n; char str7=; scanf(%ld,&n); /* 2 */ itoa(n,str+5); printf(%s,str); 6,删除非英文字母下面程序中“* 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;i/*1*/ if (stri =a & stri=z) /*2*/ strk=stri; i+; strk=0; printf(%sn,str); #include #include void main() char str256; int i,j,k=0,n; gets(str); n=strlen(str); for(i=0;i=a&stri=A&stri=Z) strk=stri; k+; strk=0; printf(%sn,str); 7,距离坐标原点下面程序中“/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。 #include stdio.h #include math.h #include stdlib.h void main() int i,n; /* 1 */ struct axy float x;float y; an; scanf(%d,&n); a=(float*) malloc(n*2*sizeof(float); for(i=0;i/* 2 */ scanf(%f,%f,ai.x,ai.y); for(i=0;iif(sqrt(ai.x*ai.x+ai.y*ai.y)=5) printf(%f,%fn,ai.x,ai.y); #include #include #include void main()int i,n;/* 1 */struct axy float x,y; a; scanf(%d,&n);a=(float*) malloc(n*2*sizeof(float);for(i=0;in;i+)/* 2 */scanf(%f%f,ai.x,ai.y);for(i=0;in;i+)if(sqrt(ai.x*ai.x+ai.y*ai.y)=5)printf(%f,%fn,ai.x,ai.y);*试题本身有错误,a=(struct axy *) malloc(n*2*sizeof(float);8,多项式值下面程序中“/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+.的和直到末项的绝对值小于eps为止。 #include #include void main() float x,eps,s=1,t=1,i=1; scanf(%f%f,&x,&eps); do /* 1 */ t=-t*x/+i; s+=t; /* 2 */ while(fabs(t)printf(%fn,s); #include #include int main() float x,eps,s=1,t=1,i=1; scanf(%f%f,&x,&eps); do /* 1 */ t=-t*x/i+; s+=t; /* 2 */ while(fabs(t)=eps); printf(%fn,s); 9,n个3和下面程序中“/* N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333 #include void main() int i,a,n; long t=0; /* 1 */ int s=0; scanf(%d%d,&a,&n); for(i=1;i=n;i+) /* 2 */ t=(i-1)*10+a; s=s+t; s=s*a; printf(%ldn,s); #include int main() int i,a,n; long t=0; /* 1 */ long s=0; scanf(%d%d,&a,&n); for(i=1;i=n;i+) /* 2 */ t=t*10+1; s=s+t; s=s*a; printf(%ldn,s); 10,10升排序下面程序中“/ * N * /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:用选择法对10个整数按升序排序。 #include stdio.h #define N 10 void main() int i,j,min,temp; int aN=5,4,3,2,1,9,8,7,6,0; printf(nThe array is:n); /* 输出数组元素 */ for (i=0;iprintf(%5d,ai); for (i=0;i min = i; for (j=i+1; j/* 1 */ if (amin=aj) /* 2 */ temp=amin; amin=aj; aj=temp; /* 数据交换 */ printf(nThe sorted numbers: n); /* 输出排序结果 */ for (i=0;iprintf(%5d,ai); printf(n); #include stdio.h #define N 10 int main() int i,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-1;i+) min = i; for (j=i+1; j=aj) /* 2 */ temp=amin; amin=aj; aj=temp; /* ? */ printf(nThe sorted numbers: n); /* ? */ for (i=0;iN;i+) printf(%5d,ai); printf(n); (二)程序填空1,求最大公约数,下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。 #include void main() int m,n,k; while(scanf(%d%d,&m,&n), _1_ ); for( _2_; n%k!=0|m%k!=0; k-); printf(%dn,k); #include void main() int m,n,k; while(scanf(%d%d,&m,&n)!=EOF&m=0|n=0); for(k=m; n%k!=0|m%k!=0; k-); printf(%dn,k); 2,分别统计字符串中各字符下面程序中_ N _是根据程序功能需要填充部分, 请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:分别统计字符串中英文字母、数字和其他字符出现的次数。 #include #include void main() char a80; int n3=0,i; gets(a); for(i=0;ai!=0;i+) if (/*-1-*/) /*统计字母个数*/ n0+; else if (/*-2-*/) /*统计数字个数*/ n1+; else n2+; for(i=0;i3;i+) printf(/*-3-*/); #include #include int main() char a80; int n3=0,i; gets(a); for(i=0;ai!=0;i+) if (ai=a&ai=A&ai=0&ai=9) n1+; else n2+; for(i=0;i3;i+) printf(%dn,ni); 3,求相邻两元素和下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:求出a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出。 例如: b1=a1+a0,b9=a9+a8。 #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=_1_; /* 计算b数组中的元素 */ for (i=1; i10; i+) printf(%3d,bi); if (_2_) printf(n); /* 每行打印3个数据 */ #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+ai-1; for (i=1; i10; i+) printf(%3d,bi); if (i%3=0) printf(n); 4求数字和下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include #include void main() int n,s=0; scanf(%d,&n); _ 1 _ while(n!=0) _ 2 _ n=n/10; printf(%dn,s); #include #include void main() int n,s=0; scanf(%d,&n); if(n0)n=-n; while(n!=0) s=s+n%10; n=n/10; printf(%dn,s); 5,求整数位数下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。 #include void main() int n,k=0; scanf(%d,&n); while( n!=0 ) k+; n=n/10; printf(%dn,k); #include void main() int n,k=0; scanf(%d,&n); while(n!=0) k+; n=n/10; printf(%dn,k); 6,数列2项和下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。 #include long f(int n); void main() printf(%ldn,_1_); long f(int n) if(_2_) return 1; else return _3_; #include long f(int n); int main() printf(%ldn,f(30); long f(int n) if(n=1|n=2) return 1; else return f(n-1)+f(n-2); 7,数倒置下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数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_; if(_2_) return y; else return -y; int main() printf(%ldn,f(12345); printf(%ldn,f(-34567); return 0; #include #include long f(long n) long m,y=0; m=fabs(n); while(m!=0) y=y*10+m%10; m=m/10; if(n=0) return y; else return -y ; void main() printf(%ldn,f(12345); printf(%ldn,f(-34567); 8,删除数字字符下面程序中中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用函数f,从字符串中删除所有的数字字符。 #include #include #include void f(char *s) int i=0; while(si!=0) if(isdigit(si) _1_; else _2_; void main() char str80; gets(str); f(str); puts(str); #include #include #include void f(char *s) int i=0; while(si!=0) if(isdigit(si) strcpy(s+i,s+i+1); else i+; void main() char str80; gets(str); f(str); puts(str); 9,删除c下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:将字符串s中所有的字符c删除。 #include void main() char s80; int i,j; gets(s); for(i=j=0;stri!= 0;i+) if(_1_) sj=si; j+ _2_; puts(s); #include void main() char s80; int i,j; gets(s); for(i=j=0; si != 0; i+) if(si != c) sj=si; j+; sj=0; puts(s); 10,去数组负数下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:输入数组x7,调用函数f,去除数组中的负数,输出结果为:1 3 4 6 #include void f(int *a,int *m) int i,j; for(i=0;i *m;i+) if(ai 0) for(j=i-;j *m-1;j+) aj=aj+1; _1_; void main() int i,n=7,x7=1,-2,3,4,-5,6,-7; _2_; for(i=0;i n;i+) printf(%5d,xi); printf(n); #include void f(int *a,int *m) int i,j; for(i=0;i *m;i+) if(ai 0) for(j=i-;j *m-1;j+) aj=aj+1; *m=*m-1; int main() int i,n=7,x7=1,-2,3,4,-5,6,-7; f(x,&n); for(i=0;i math+pst-english+pst-computerpst-average = sum/3; void main() int i; struct STUDENT st4=Jessica,98,95,90,Mike,80,80,90, Linda,87,76,70,Peter,90,100,99; for(i=0;i4;i+) GetAverage(_2_); /st + i printf(NametMathtEnglishtComputAveragen); for(i=0;i=v & c=z) _2_ putchar(c); #include int main() char c; c=getchar(); if(c=a&c=v & c=z) c=a+z-c; putchar(c); 13,函数最大值下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:对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-*/; for(x=2;x=10;x+) if(maxfprintf(p,%fn,max); #include #include #define f(x) x*x-5*x+sin(x) int main() int x; float max; max=f(1); for(x=2;x=10;x+) if(max0),求m使得2的m次方小于或等于n、2的m+1次方大于或等于n。 #include stdio.h void main() int m=0,t=1,n; while( _ 1 _); while(!(t=n) _ 2 _ m+; printf(%dn,m); #include stdio.h int main() int m=0,t=1,n; while(scanf(%d,&n),n=0); while(!(t=n) t=t*2; m+; printf(%dn,m); 15,findthe下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:调用find函数在输入的字符串中查找是否出现the这个单词。如果查到返回出现的次数;如果未找到返回0。 #include stdio.h int 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); #include stdio.h int find(char *str) char *fstr=the; int i=0,j,n=0; while (stri!=0) for(j=0;j3;j+) if (strj+i!=fstrj) break; if (j=2) n+; i+; return n; main() char a80; gets(a); printf(%d,find(a); 16,ditoh下面程序中中_ N _是根据程序功能需要填充部分, 请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。 例如:输入十进制数79,将输出十六进制4f。 # include stdio.h # include string.h char trans(int x) if(x 10) return 0+x; else _1_ int DtoH(int n,char *str) int i=0; while(n!=0) _2_ n/=16;i+; return i-1; void main() int i,k,n; char str30; scanf(%d,&n); k=DtoH(n,str); for (i=0;i = k;i+) printf(%c,strk-i); # include stdio.h # include string.h char trans(int x) if(x 10) return 0+x; else return a+x-10; int DtoH(int n,char *str) int i=0; while(n!=0) stri=trans(n%16); n/=16;i+; return i-1; int main() int i,k,n; char str30; scanf(%d,&n); k=DtoH(n,str); for (i=0;i = k;i+) printf(%c,strk-i); 17,dec2bin下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。 #include stdio.h void Dec2Bin(int m) int bin32,j; for(j=0;m!=0;j+) binj= m%2; m=m/2; for(;j!=0;j-) printf(%d,binj-1); void main() int n; scanf(%d,&n); Dec2Bin(n); #include stdio.h void Dec2Bin(int m) int bin32,j; for(j=0;m!=0;j+) binj= m%2; m=m/2; for(;j!=0;j-) printf(%d,binj-1); void main() int n; scanf(%d,&n); Dec2Bin(n); 18,armstrong.c下面程序中_ N _是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:找出100999之间所有的Armstrong数。所谓Armstrong数是指这个3位数各位上数字的立方和等于自身。 例如:371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数。 #include stdio.h #include math.h void main() int i,a,b,c; for(i=100;i=999;i+) a=i/100; _1_ c=i%10; if (_2_) printf(%d is a Armstrong number!n,i); #include stdio.h #include math.h int main() int i,a,b,c; for(i=100;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安装水电施工合同范本
- 房屋租赁家具合同范本
- 种子种苗合同范本
- 专利转让免税合同范本
- 门店合伙合同范本6
- 航空航天装备钣金制造基地项目可行性研究报告模板-立项备案
- 保险中标合同范本
- 活动策划举办合同范本
- 铝单板补充合同范本
- 保洁公司雇佣合同范本
- 2025招标代理试题及答案
- 2025年9月新版用工合同(合作协议书)范本(可规避风险)
- 人民调解员培训课件
- 中国心房颤动管理指南(2025)解读
- 2025重庆机场集团有限公司社会招聘202人考前自测高频考点模拟试题及完整答案详解1套
- 福建省漳州地区2024-2025学年七年级下学期期末质量检测道德与法治试卷(含答案)
- 叉车生产安全知识培训课件
- 闭店协议如何签订合同模板
- 【课件】新高三启动主题班会:启航高三逐梦未来
- (正式版)JBT 7248-2024 阀门用低温钢铸件技术规范
- 软件无线电原理与应用第3版楼才义部分习题答案
评论
0/150
提交评论