ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:18.97KB ,
资源ID:6006399      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6006399.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级C上机模拟题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级C上机模拟题.docx

1、二级C上机模拟题上机模拟题模拟练习一1.填空题s为一个字符序列,请补充fun函数,该函数的功能是:查找s中值为a的元素,返回找到值为a的元素个数,并把这些值为a的元素下标依次保存在数组str中。例如,在testtest中查找e,结果为2,下标依次为1、5。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include # include # define M 100int strM;int fun(char *s,char ch) int i=0,n=0; char t=ch; char *p=s; while(*p

2、) if(_1_) _2_; p+; i+; return _3_;main() char sM; char ch; int i,n; printf(Please Input the original stringn ); gets(s); printf(The Original string is :n); puts(s); printf(Input charactern); scanf(%c,&ch); n=fun(s,ch); printf( nThe number of character is: %dn,n); printf(The position of character:n);

3、 for(i=0;in;i+) printf( %d ,stri);2.改错题下列给定程序中,函数fun的功能是:用递归算法计算斐波拉契级数数列中第n项的值。从第1项起,斐波拉契级数序列为1、1、2、3、5、8、例如,若给n输入7,则该项的斐波拉契级数值为13。请修改程序中的错误,得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include long fun(int m) /*error*/ switch(m); case 0: return 0; /*error*/ case 1; case 2: return 1; return (fun(m-1)+

4、fun(m-2);main() long a; int n; printf(Input n: ); scanf(%d,&n); printf(n=%dn,n); a=fun(n); printf(a=%dnn,a);3.编程题请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:1,1,1,2,2,3,3,3,3,4删除后,数组中的内容应该是:1,2,3,4请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# i

5、nclude # define M 100int fun(int b,int m) main() int bM=1,1,1,2,2,3,3,3,3,4,i,m=10; FILE *out ; printf(The original data :n); for(i=0;im;i+) printf(%3d,bi); m=fun(b,m); printf(nThe data after deleted :n); out=fopen (outfile.dat,w); for(i=0;im;i+) printf(%3d,bi); fprintf(out,%dn,bi); fclose (out);模拟练

6、习二1.填空题给定程序中,函数fun的功能:将s所指字符串中的所有非数字字符移到所有数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:asf34fgrt5657gngjh78。则执行结果为:34565778asffgrtgngjh。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include void fun(char *str) int i,j=0,k=0; char temp180,temp280; for(i=0;stri!=0;i+) if(stri=a & stri=

7、z) _1_; j+; else temp1k+=stri; temp2j=0; temp1k=0; for(i=0;ik;i+) _2_; for(i=0;i_3_;i+) strk+i=temp2i;main() char str100=asf34fgrt5657gngjh78; printf(nThe original string is : %sn,str); fun(str); printf(nThe result is : %sn,str);2. 改错题下列给定程序中,函数fun的功能是:计算并输出max以内最大的10个素数之和。high由主函数传给fun函数。若max的值为50,

8、则函数的值为300。请修改程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include # include # include int fun(int max) int sum=0,n=0,j,flag; while(max=2) & (n10) flag=1; for(j=2;j=max/2;j+) /*error*/ if(max%j=0) flag=0; break if(flag) sum+=max; n+; max-; return sum;main() printf(%dn,fun(50);3.编程题请编写函数fun,该

9、函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串是:11112222222334444则合并后的字符串的内容应是11112222222334444。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # define M 4# define N 20void fun(char strMN,char *a) main() char matrixMN=1111,2222222,33,4444,i; char str 100=*; F

10、ILE *out ; printf(The string:n); for(i=0;iM;i+) puts(matrixi); printf(n); fun(matrix,str); printf(The string:n); printf(%s,str); printf(nn); out=fopen (outfile.dat,w); fprintf(out,%s,str); fclose (out);模拟练习三1.填空题在给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个*号。例如,形参s所指的字符串为:a1bc45sdtg56f,则执行结果为a*1b*c*45s

11、*d*t*g*56f*。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include void fun(char *str) int i,j,n; for(i=0;stri!=0;i+) if(stri=a_1_ strii;j-) strj+1=_3_; strj+1=*; i=i+1; main() char str100=a1bc45sdtg56f; printf(nThe original string is : %sn,str); fun(str); printf(nThe result is : %sn

12、,str);2.改错题下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若小写字母为vz,使小写字母的值减21,转换后的小写字母作为函数值返回。例如,若形参是字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b。请修改函数fun中的错误,得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include # include char fun(char ch) /*error*/ if(ch=A & ch=a & ch=v & ch=z) ch=ch-21; return ch;main() char ch1,ch2;

13、printf(nEnter a letter(A-Z): ); ch1=getchar(); if(isupper(ch1) ch2=fun(ch1); printf(nnThe letter %c change to %cn,ch1,ch2); else printf(nEnter (A-Z)!n); 3.编程题编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把str2所指的字符串连接到str1所指的字符串后。例如,分别输入下面两个字符串:just-test则程序输出:just-test请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中

14、填入所编写的若干语句。注意:部分源程序给出如下。# include # include void fun(char str1,char str2) main() char s1100,s250 ; FILE *out; printf(Enter s1 and s2:n) ; scanf(%s%s,s1,s2) ; printf(s1=%sn,s1) ; printf(s2=%sn,s2) ; fun(s1,s2) ; printf(After invoking:n) ; printf(%sn,s1) ; out=fopen(outfile.dat,w); strcpy(s1,Hello );

15、fun(s1,World!); fprintf(out,%sn,s1) ; strcpy(s1,This ); fun(s1,is ); fun(s1,a ); fun(s1,test ); fun(s1,string.); fprintf(out,%sn,s1) ; fclose(out);模拟联系四1.填空题函数fun的功能:逆置数组元素中的值,形参m给出数组中数据的个数。例如,若x所指数组中的数据依次为9、8、7、6、5,则逆置后依次为5、6、7、8、9。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# incl

16、ude void fun(int a,int m) int i,temp; for(i=0;i_1_;i+) temp=ai; ai=am-1-_2_; _3_=temp; main() int x9=9,8,7,6,5,i; printf(nThe original data :n); for(i=0;i5;i+) printf(%4d ,xi); printf(n); fun(x,5); printf(nThe data after invert :n); for(i=0;i5;i+) printf(%4d ,xi); printf(n);2.改错题下列给定程序中,函数fun的功能是根据输

17、入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数,返回3;若能构成等腰三角形函数,返回2;若能构成三角形函数,返回1;若不能构成三角形函数,返回0。请修改函数fun中的错误,得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include int fun(int x,int y,int z) if(x+yz & y+zx & x+zy) /*error*/ if(x=y & y=z) return 1; else if(x=y | y=z | x=z) return 2; else /*error*/ r

18、eturn 3; else return 0;main() int x,y,z,shape; printf(nInput x,y,z: ); scanf(%d%d%d,&x,&y,&z); printf(nx=%d,y=%d,z=%dn,x,y,z); shape=fun(x,y,z); printf(nnThe shape : %dn,shape);3.编程题假定输入的字符串中只包含字母和#号,请编写函数fun,它的功能是:删除字符串中所有的#号。在编写函数时,不得使用C语言提供的字符串函数。例如,若字符串中的内容为#w#el#come#,删除后,字符串中的内容则应当是welcome。请勿改

19、动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # include void fun(char *s) main() char str81; FILE *out ; printf(Enter a string:n); gets(str); fun(str); printf(The string after deleted:n); puts(str); out=fopen(outfile.dat,w); strcpy(str,#T#ES#T#); fun(str); fprintf(out,%s,str); fc

20、lose(out);模拟练习五1.填空题请补充fun函数,该函数的功能是求能整除k且是偶数的数,把这些数保存在数组a中,并按从大到小输出。例如,当k=40时,依次输出40 20 10 8 4 2。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include # include void fun(int k,int a) int i; int j=0; for(_1_;i=0;i-) printf(%d ,ai);main() int k=1; int a100; printf(nPlease input kn);

21、scanf(%d,&k); fun(k,a);2.改错题下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的单词是指由空格隔开的字符串)。例如,若输入good luck!,则应输出Good Luck!。请修改程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include # include # include /*error*/void top(char s) int i=0; for(;*s;s+) if(i) if(*s= ) i=0; else if(*s!= ) i=1; *s

22、=toupper(*s); main() char str81; printf(nPlease enter an English text line: ); gets(str); printf(nnBefore changing:n %s,str); top(str); printf(nAfter changing:n %sn,str);3.编程题假定输入的字符串中只包含字母和#号。请编写函数fun,它的功能是:除了字符串前导和尾部的#号之外,将串中其他#号全部删除。形参r已指向字符串中第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,若字符串中

23、的内容为#a#bc#def#g#,删除后,字符串中的内容则应当是#abcdefg#。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。# include # include # include void fun(char *s,char *r,char *v) main() char str100,*p,*q; FILE *out; printf(Enter a string:n); gets(str); p=q=str; while(*p) p+; p-; while(*p=#) p-; while(*q=#) q+; fun(str,q,p); printf(The string after deleted:n); puts(str); out=fopen (outfile.dat,w); strcpy(str,#a#b#c#d#); fun(str,str+4,str+13); fprintf(out,%s,str); fclose (out);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1