首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【函数1说明】 函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【函数1说明】 函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符
admin
2010-01-15
45
问题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【函数1说明】
函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。
【函数1】
int palindrome(char s[]{
char *pi, *pj;
pi=s; pj=s+strlen(s)-1;
while(pi<pj&&(1)){
pi++; pj--;
}
if((2))return-1;
else return 0;
}
【函数2说明】
函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。
【函数2】
void f(char *str, char del){
int i,j, len;
len=strlen(str);
i=0;
while(i<len){
While((3)) i++; /*忽略连续的标志字符*/
/*寻找从str
开始直到标志字符出现的一个子字符串*/
j=i+1;
while(str[j]!=del && str[j]!=’\0’)j++;
(4)=’\0’; /*给找到的字符序列置字符串结束标志*/
printf("%s\t",&str
);
(5);
}
}
选项
答案
(1)*pi==*pi (2)pi<pj或*pi!=*pj (3)str[i]==del (4)str[j] (5)i=j+1
解析
本题考查在C语言中对字符串的处理。
【函数1】
使用数组s[n]来存储一个字符串,因为要根据回文字符串的定义来判断一个串是否是回文字符串,所以需要循环比较。
(1)拿该字符串的第一个元素s[0]和最后一个元素s[n-1]比较,如果s[0]不等于s[n-1],则s不是回文字符串。
(2)如果s[0]等于s[n-1],则拿第二个元素s[1]和倒数第二个元素s[n-2]比较,如果 s[1]不等于s[n-2],则s不是回文字符串。
(3)依次类推,直到最中间的两个元素也比较完毕(如果s有偶数个元素),或者只剩下中间的一个元素(如果s有奇数个元素)。
当上述循环结束时,如果最中间的元素没有进行比较,就说明s不是回文字符串;如果进行了比较,则s是回文字符串。
在函数1中,pi和pj是两个指向字符的指针,程序首先将s的首地址赋给pi(即*pi =a[0]),将元素s[strlen(s)-1]的地址赋给pj(即*pj=s[strlen(s)-1]),当pi<pj并且pi和pj所指向的值相等时进行循环:pi自增,pj自减。
退出循环后,如果pi≥pj,则s是回文字符串(如果s有偶数个元素,则为pi>pj;如果s有奇数个元素,则为pi=pj);如果pi<pj,则s不是回文字符串。
【函数2】
由函数2说明可知,此函数对给定的字符串进行从左至右的扫描,找出不包含标志字符的子字符串。
在函数2中,i的初值为0,len表示字符串的长度。当i<len时进行循环:如果当前字符是标志字符,则不作处理,继续扫描。当退出该循环时,当前字符str
不是标志字符,这时从str
开始寻找,直到找到在标志字符中出现的一个子字符串(i保持不变,用i标记寻找的过程),给找到的字符序列置字符串结束标志,以便于后面语句的输出。
输出语句结束后,就要继续寻找后面的不包含标志字符的子字符串,这时,需要把指针i移动至j的后面,继续扫描。
转载请注明原文地址:https://kaotiyun.com/show/aIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Word2010窗口的编辑区,闪烁的一条竖线表示________________。
我国的信息安全法律法规包括国家法律、行政法规和部门规章及规范性文件等。()属于部门规章及规范性文件。
计算机采用二进制的好处不包括______。
______不属于企业信息系统存在的问题。
在PowerPoint中,下列关于自定义放映的叙述不正确的是(63)。
为使双击指定类型的文件名就能调用相应的程序来打开处理它,需要将这种文件类型与相应的程序建立文件(23)。
在WindowsXP中,删除某个应用程序在桌面上的快捷方式,则(42)。
下列选项中,不能收发电子邮件的软件是______。
甲和乙用如下图的两个转盘做游戏,游戏规则如下:分别旋转两个转盘,当两个转盘所转到的数字之积为奇数时,甲得2分;当所转到的数字之积为偶数时,乙得1分,则这游戏规则______。
请认真阅读下列有关网络中计算机安全的说明信息,回答问题1至问题4。【说明】“震荡波”病毒对网络中计算机系统的攻击方式是:以本地IP地址为基础,开辟128个扫描线程,每个线程随机选取一个IP地址作为攻击目标,疯狂地试探连接目标主机的445端口,
随机试题
用人单位不与劳动者订立书面劳动合同的行为及处理。
A.4~5日B.6~7日C.14日D.10~12日下腹部、会阴部手术后缝线拆除时间
患者,男性,63岁。既往吸烟40年,未戒烟。慢性阻塞性肺疾病病史10年,近3天咳嗽、咳痰加重。今晨剧烈咳嗽后突然出现短暂胸痛,呼吸困难。体格检查见右肺呼吸音明显减低。确诊后,该患者应立即采取的治疗是
发生工程变更,无论是由设计单位、建设单位或承包单位提出的,均应经过( )的代表签认,并经项目总监理工程师下达变更指令后,承包单位方可进行施工。
银行汇票的实际结算金额不得更改,更改实际结算金额的以汇票金额为实际结算金额。()
个人信用信息中的特殊信息包括()。
下列关于商业银行业务外包的描述,最不恰当的是()。
Little______abouthimwhenIfirstmethiminthatcompany.
社会医学是指从社会的角度研究与人群的生、老、病、死有关的医学问题,研究社会因素在生命的准备、保护和提高生命质量等不同阶段发挥的综合作用,为医疗卫生事业的管理提供理论依据,为保障人群健康制定相应的卫生目标、政策、策略与措施。根据上述定义,下列不属于
数列1,1,3,5,9,15,25,41,…,的规律是从第三个数开始。每个数是它前面两个数的和加1。在考生目录下有一个工程文件sjt5.vbp。窗体中已经给出了所有控件,如图1-99所示。请编写适当的事件过程实现以下功能:在Textl中输入整数40,单击“
最新回复
(
0
)