问题 填空题

请补充函数fun(),该函数的功能是:把一个字符串中的字符(字母)按从小到大排序,并把这个全部由字母组成的字符串保存在原串中,函数返回这个字符串的长度。例如;输入“cixbr2.3”,如果为bcirx,字符串长度为5。 注意:部分源程序给出如下. 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 #include <stdio.h> #define N 20 int fun (char *str) { int i=0,j=0,k=-0,m=0; char t; char *p=str; while(*p) {if((*p>=’A’&&*p<=’Z’)||(*p>=’a’&&*p<=’z’)) 【1】 p++; } *(str+i)=’\0’; 【2】 ; while(*(p+j)) {k=j; 【3】 ;while (*(p+k)){ if(*(p+k)<*(str+m) {t=*(str+m);*(str+m)=*(p+k);*(p+k)=t; } k++;}j++; } return i; }main(){ char str[81]; iht n; clrscr(); printf("Input the original string "); gets(str); printf("*** The Original string ***In"); puts(str); printf("*** The nwe string ***\n"); n=fun(str); puts(str); printf("***The length of new string is:%d***\n",n);}

答案

参考答案:[1] *(str+i++)=*p [2] p=str [3] m=j

解析: 填空1:将字符串中的字母字符存入原字符串str中,通过变量i的自加逐一向后移动字符串指针。填空2:从后面的程序中可以看出,通过指针p对字符串进行排序,所以应使指针p指向字符串str的首部,即将字符串str的首地址赋给p。填空3:本题采用选择法对字符串进行排序,选择法的思路是,假设从小到大排序,依次用当前取得的元素和它后面的所有元素进行比较,在第一个元素和它后面的元素顺次比较时,可以借助中间变量来对两数进行交换,要保证这第一个元素始终存放数组中的最小数,以后依次挑出次小数,这样最终的数组就是按从小到大的顺序排列。此处要将变量j的值赋给m。

单项选择题
阅读理解与欣赏

阅读下面的文言文,回答问题(9分)

吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。

积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇蟮之穴无可寄托者,用心躁也。

小题1:对下列句中划线的词的解释错误的一项是

A.吾尝而望矣跂:提起脚后跟

B.假舆马者,非足也利:对……有利

C.假舟楫者,非能也 .水:游水,游泳

D.上食埃土,下饮黄泉,用心也一:专一小题2:下列各句句式与例句相同的一项是

例句:蚓无爪牙之利

A.虽有槁暴,不复挺者,輮使之然也

B.又杂植兰桂竹木于庭

C.何陋之有

D.居庙堂之高则忧其民小题3:下面对文段的分析理解不正确的一项是(   )

A.节选的第一段论述了学习的作用;第二段论述学习的方法和态度:学习要逐渐积累,持之以恒,专心致志。

B.从所选的文段可以看出,荀子所讲的“学”,不仅指学习各种文化知识,还包括加强思想品德修养。

C.从所选文段可以看出,荀子认为,对于“学”而言,人的先天条件是决定因素,同时也需要后天努力。

D.所选文段说理的突出特点是以喻代议,寓议于喻。它启示我们,议论说理与文章的生动性并不矛盾。