问题 问答题

请编写一个函数fun(),它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较K的字符串。若两个字符串长度相等,则返回第1个字符串。
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
char *fun(char *s, char *t)


main()

char a[20],b[10],*p,*q;
int i;
printf ("Input 1th string: ");
gets(a);
printf"Input 2th string: ");
gets(b);
printf("%s",fun(a,b));

答案

参考答案:

char *fun(char *s, char *t)

{

int i,i;

for(i=0;s[i]!= ’\0’;i++); /*求字符串的长度*/

for(j=0;t[i]!= ’\0’;j++);

if(i>=j) /*比较两个字符串的长度*/

return s; /*函数返回较长的字符串,若两个字符串长度相等,则返回第A个字符串*/

else

return t;

}

解析:

本题中,第1个for循环的作用是求出s的字符个数i,第2个for循环的作用是求出t的字符个数j,因为任何循环都要控制一条语句,所以在每一个for循环条件后面必须要有一个分号。

本题也可用如下技巧:

char *fun(char *s,char *t)

{if(strlen(s)>=strlen(t) return s;

else return t;

}

阅读理解与欣赏

阅读下面的两个文言语段,完成文后题目。(共11分)

【甲】出师表(节选)

先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

宫中府中,俱为一体,陟罚臧否,不宜异同。若有作 * * 犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外并法也。

侍中侍郎郭攸之、费讳、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

* * 向宠,性行淑均,晓畅军事,试用于昔日,先帝称之日能,是以众议举宠为督。愚以为营中之事,事无大小,悉以咨之,必能使行阵和睦,优劣得所。

亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。

【乙】晏子患善恶不分

齐侯问于晏子日:“为政何患?”对日:“患善恶之不分。”公日:“何以察之?”对日:“审择左右,左右善,则百僚各得其所宜而善恶分。”孔子闻之日:“此言也信矣,善言进,则不善无由入矣;不进善言,则善无由入矣。”

(选自《说苑》)

小题1:解释下面句子中划线词语的意思。(2分)

(1)是以先帝简拨以陛下    (    )

(2)善言进,不善无由入矣    (    )

小题2:用现代汉语写出下面句子在文中的意思。(2分)

每与臣论此事,未尝不叹息痛恨于桓、灵也

小题3:【乙】文中晏子说为政“患善恶之不分”。请引用【甲】文段中的话说明为政善恶不分的后果。(4分)

单项选择题 B1型题