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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

试题5760Word格式.docx

1、n); gets(str);n* original string *n puts(str);n Input a charactor: scanf(%c, &ch); fun(str, ch);n* new string *n【1】i+ 【2】sj+=si 【3】sj=0【解析】填空1:如果当前字符比指定字符小,则什么都不做,通过i+访问下一个字符。填空2:如果当前字符大于等于指定字符,则将它保存在字符数组s中。填空3:通过保存比指定字符大或相等的字符,来实现删除比指定字符小的字符。处理结束后,在字符串s最后要加上结束标记符 0。2. 改错题下列给定程序中fun()函数的功能是:将n个无序整数从

2、小到大排序。请改正程序中的错误,使它能得出正确的结果。不要改动main函数,不得增行或删行,也不得更改程序的结构。conio.hstdlib.hfun(int n,int *a) int i,j,p,t; for (j=0;jn-1;j+) p=j;/*found*/ for(i=j+1;iai) t=i; if(p!=j) t=aj;aj=ap;ap=t;putarr( int n,int *z)int i; for (i=1;=n;i+,z+) printf(%4d,*z); if (!(i%10) ) printf( printf(int aa20=9,3,0,4,1,2,5,6,8,1

3、0,7, n=11;nnBefore sorting %d numbers:,n); putarr(n,aa); fun(n,aa);nAfter sorting %d numbers:putarr(n,aa);(1)错误:for(i=j+1;正确:n;(2)错误:t=i;p=i; 【解析】该程序是对n个数实现从小到大的排序,该题中先是找出输入整数的最小项,置于指针第1个元素的位置;再找出第2个元素至尾元素的最小项,置于第2个元素的位置;之后顺次处理后读元素。3. 编程题请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入

4、字符1,则输出3。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#define M 81int fun(char *ss, char c) char aM, ch;clrscr();printf(nPlease enter a string: gets(a);nPlease enter a char: ch=getchar();nThe number of the char is: %dn, fun(a,ch);【解析】从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历;若ss串的当前字符等于t串的第1个字符,两字符串的指针自动

5、加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若ss串的字符和c串的字符不对应相同,则继续对ss串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if()的作用是进行判断是否相同,若与c相同则表示又出现一次。 int i=0; for(;*ss!=;ss+) if(*ss=c) i+; /*求出ss所指字符串中指定字符的个数*/ return i;第58套交换数组aa中最大和最小两个元素的位置,结果依然保存在原数组中,其它元素位置不变。注意数组aa中没有相同元素。33,67,42,58,25,76,85,16,41,56,则输出

6、33,67,42,58,25,76,16,85,41,56#define N 10void fun(int aa) int i, j, t; int max=0, min=0; for(i=0; iN; i+) if(【1】) max=i; if(【2】) min=i; t=aamax; aamin=t; int i; int aaN=33,67,42,58,25,76,85,16,41,56; clrscr(); printf(n* original list *n,aai); fun(aa);n* new list *n【1】aamaxaai 【3】aamax=aamin先假设aa0最大,

7、如果找到更大的元素,则将这个元素的下标赋给max。同理,先假设aa0最小,如果找到更小的元素,则将这个元素的下标赋给min。找到最大值和最小值之后,借助第三个变量t交换这两个元素。N个有序整数数列已放在一维数组中,给定下列程序中,函数fun() 的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(lowhigh,查找结束。void fun(int a,int m) int low=0,high=N-1,mid; while(low=high) mid=(low+high)/2;

8、if(m=amid) low=mid+1; else return(mid); return(-1); int i,aN=-3,4,7,9,13,24,67,89,100,180,k,m;a数组中的数据如下:i+) printf(%d,ai);Enter m:,&m); k=fun(a,m); if (k=0) printf(m=%d,index=%dn,m,k); else printf(Not be found!int fun(int a,int m)else if(m【解析】fun(int a,int m)函数的返回值为int类型,所以定义函数时,函数的返回类型不能是void,而是int

9、类型。=amid中的mamid与m=amid两个条件段的结果不一样,所以要分开考虑。请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0到p(pn-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值为3。移动后,一维数组中的内容应为5,6,7,8,9,10,11,12,13,14,15,1,2,3,4。void fun(int *w, int p, int n) int aN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; int i, p

10、, n=15;The original data:i+) %3dnnEnter p:p); fun(a,p,n);nThe data after moving:nn【解析】本题采用循环左移的算法(关于,我们在后面的试题中有详细的解释)。和我们在前面分析的稍有不同的是,一个是整型数组,一个是字符型数组。 int i,j,t;=p;i+) /*循环左移p+1次*/ t=w0; for(j=1;j+) /*实现循环左移*/ wj-1=wj; wj-1=t;第59套请补充main函数,该函数的功能是:把字符串str中的字符向前移动一位,原来的第一个字符移动到字符串尾,结果仍然保存在原字符串中。how

11、do you do?ow do you do?h请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 char strN, ch; ch=str0;【1】; stri=stri+1; 【2】;n * new string *n【1】stri+1 【2】stri=chfor循环的条件是要移动的字符不为0,即还没有到字符串的最后一个字符。ch中保存了字符串的第一个字符,按题目要求移动到字符串尾,而stri是0的前一个字符,也就是字符串尾,故将ch赋给stri。下列给定程序中,函数fun()的功能是:根据形参m的值(2m9),在m行m列的二维数组中存放

12、如下所示的数据,由main()函数输出。例如,若输入2,则输出1 22 4输入4,则输出1 2 3 42 4 6 83 6 9 124 8 12 16#define M 10int aMM=0;fun( int *a, int m)int j,k; for(j=0;m; for(k=0;kk+) ajk=k*j;int i, j, n;Enter nnn); fun(a,n); for (j=0;%4d ,aij);n void fun( int (*a)M, int m)ajk=k*j;ajk=(k+1)*(j+1);【解析】对于二维数组,应该理解成为是由几个一维数组作元素组成的一维数组,或

13、者说,二维数组实际是一个一维数组,只不过它的每个数组元素又都是一个一维数组。我们先来看看指针数组的表示形式:(1)p+i和a+i均表示ai的地址,或者讲,它们均指向数组第i号元素,即指向ai。(2)*(p+i)和*(a+i)都表示p+i和a+i所指对象的内容,即为ai。(3)指向数组元素的指针,也可以表示成数组的形式,也就是说,它允许指针变量带下标,如pi与*(p+i)等价。因此, 二维数组元素aij可表示成*(ai+j)或*(*(a+i)+j),它们都与aij等价,或者还可写成(*(a+i)j。了解了以上这些内容后本题就好解决了。移动字符串中的内容,移动的规则是把第1到第m个字符,平移到字符

14、串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的内容为ABCDEFGHIJK,m的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。#includevoid fun (char *w,int m) char aN= ABCDEFGHIJK int m;The origina string : puts(a);nnEnter m: fun(a,m);nThe string after moving :【解析】我们在学习C语言的时候,应该广泛地应用到循环的方法,本题应采用的算法。即从第2个字符开始以后的每个字符都依次前移一个字符,而原来的第1个字符放在串中的最后一个

15、字符。当要平移m个字符时,则要进行m次的循环左移。内嵌的循环的作用是完成从第2个字符开始以后的每个字符都依次前移一个字符,wj-1=t的作用是将第1个字符放到最后一个字符中。 int i,j; char t; for(i=1;=m;i+) /*进行m次的循环左移*/wj!j+) /*从第2个字符开始以后的每个字符都依次前移一个字符*/ /*将第1个字符放到最后一个字符中*/第60套把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。abcdef,输出bdfvoid fun(char s,int n) int i

16、, j; j=0; sj+=si; int i=0, strlen=0; char strN;nInput a string: while(stri!) strlen+; i+; fun(str, strlen);n* display string *n【1】ivoid fun(int a, int *b, int *c) int i,j,d,y; for (i=3;=a/2;i=i+2) y=0; for (j=2;=sqrt(double)i ); if (i%j=0) y=0; if (y=1) d=i-a;=sqrt(double)d ); if (d%j=0) y=0; *b=i;

17、*c=d; int a,b,c; donInput a:a); while(a%2); fun(a,&b,&c);nn%d=%d+%dn,a,b,c);y=0;y=1;d=i-a;d=a-i;【解析】这道题是历年的考题经典。也就是验证哥德巴赫猜想之变体,原来的思路是(任意一个大于等于6的偶数都可以分解为两个素数之和)n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2是否为素数,如都是,则为一组解。如n1不是素数,就不必再检查n2是否素数。先从n1=3开始,检验n1和n2(n2=N-n1)是否素数。然后使n1+2 再检验n1,n2是否素数,直到n1=n/2为止。该题思路是与经典猜想是相同的。请编写一个函数void fun(char *ss),其功能是:将字符串ss中所有下标为偶数位置上的字母转化为大写(若该位置上不是字母,则不转换)。例如,若输入abc4Efg,则应输出AbC4EfG。#

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

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