首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【函数1说明】 函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【函数1说明】 函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符
admin
2010-01-15
60
问题
阅读以下函数说明和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菜单命令右边有“…”符号,表示________________。
在Word2010窗口的编辑区,闪烁的一条竖线表示________________。
台式计算机在设定的等待时间内,如果用户没有进行任何操作,将启动________________。
在用Word编辑文本时,为了使文字绕着插入的图片排列,下列操作正确的是______。
以下关于计算机网络协议的叙述中,不正确的是(58)________________。
在Excel2007中,(43)________________不是计算从A1到A6单元格中数据之和的公式。
关系代数运算是以集合操作为基础的运算,其5种基本运算是并、差、(57)、投影和选择。
在Excel中,下列符号属于比较运算符的是(43)。
在WindowsXP中,删除某个应用程序在桌面上的快捷方式,则(42)。
从网络连接的角度来看,代理服务器承担了何种网络设备的功能?为了实现内部计算机客户端通过代理服务器访问Internet,还需对客户端n浏览器的有关参数进行配置。打开IE浏览器的“Internet属性”窗口,选择“连接”选项卡,进入“局域网设置”窗口,如图
随机试题
在日常巡检中,电动机的巡检内容是:电压、温度、声音、异味等。
肝血管瘤特征性CT扫描要求做到“两快一长”,“一长”指的是
pSS易出现肾脏损害主要累及肾脏的
医学统计的研究内容是
关于大陆法系说法不正确的是()。
在建设工程项目进度计划系统中,由业主方、设计方、施工和设备安装方编制的进度计划应与()编制的进度计划相互协调。
王某住一商住楼的二层,一层是街道办事处的房产,街道办事处将其作为退休工人的棋牌室,老人们天天在棋牌室打麻将,王某和孩子常在深夜被楼下的洗牌声惊醒,无法入睡,王某多次找办事处协商,要求其关闭棋牌室或限制晚上打麻将的时间,办事处则认为,打麻将是一项正常的娱乐活
20世纪30年代是现代小说发展最为辉煌的阶段。这个时期的报告文学也获得了丰收。夏衍的《包身工》、邹韬奋的()、萧乾的《流民图》以及范长江的《中国的西北角》都是流传甚广的报告文学名作。
设X1,X2,…,Xn为总体X的一个样本,设DX=μ,DX=σ2,试确定常数C,使为μ2的无偏估计.
Earlyinthefilm"ABeautifulMind",themathematicianJohnNashisseensittinginaPrincetoncourtyard,hunchedoveraplayi
最新回复
(
0
)