首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。 【说明】 下面的程序按照以下规则输出给定名词的复数形式。 a.若名词以“y”结尾,则删除y并添加“ies”; b.若名词以“s”、“ch”或“sh”结尾,则添加“es”;
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。 【说明】 下面的程序按照以下规则输出给定名词的复数形式。 a.若名词以“y”结尾,则删除y并添加“ies”; b.若名词以“s”、“ch”或“sh”结尾,则添加“es”;
admin
2009-05-15
62
问题
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。
【说明】
下面的程序按照以下规则输出给定名词的复数形式。
a.若名词以“y”结尾,则删除y并添加“ies”;
b.若名词以“s”、“ch”或“sh”结尾,则添加“es”;
c.其他所有情况,直接添加“s”。
【C程序】
#include <stdio.h>
#include <string.h>
char*plural(char *word)
{
int n;
char *pstr;
n=strlen(word); /*求给定单词的长度*/
pstr=(char*)malloc(n+3);/*申请给定单词的复数形式存储空间*/
if (!pstr||n<2)
return NULL;
strcpy(pstr,word); /*复制给定单词*/
if ((1))
{
pstr[n-1]=’i’;pstr[n] =’e’;pstr[n+1]=’s’;(2);
}
else
if(pstr[n-1]==’s’| |pstr[n-1]==’h’&&((3)))
{
pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’\0’;
}
else
{ pstr[n]=’s’;pstr[n+1]=’\0’;)
(4);
}
main()
{ int i; char *ps;
char wc[9][10]=
{"chair","dairy","boss","circus","fly","dog","church","clue","dish");
for(i = 0;i<9; i++) {
ps= (5) ;
printf("%s: %s\n",wc
,ps); /*输出单词及其复数形式*/
free(ps); /*释放空间*/
}
system("pause");
}
选项
答案
(1)pstr[n-1]=’y’,或*(pstr+n-1)==’y’,或其等价表示 (2)pstr[n+2]=’\0’,或*(pstr+n+2)=’\0’,或其等价表示 (3)pstr[n-2]=’c’||pstr[n-2]=’s’,或其等价表示 (4)return pstr (5)plural(wc[i]),或其等价表示
解析
本题考查C程序设计基本能力和字符串处理基本操作。
C程序中字符串存储在字符数组中,串的结尾需要设置结束标志符号’\0’。若已知串 pstr的长度为n(不包括结束标志),则串中的字符依次存储在pstr[0],pstr[1],...,pstr[n-1]中。因此,名词的最后一个字符pstr[n-1]若等于字符“y”,则按照规则a求其复数形式。下面的if语句处理的是以“y”结尾的名词,因此,空(1)处应填入“pstr[n-1]=’y’”或其等价形式。由于串pstr的长度发生了变化,所以需要设置新的结束标志,空(2)处应填入“pstr[n+2]=’\0’”’或其等价形式。
if( (1) )
{
pstr[n-1]= ’I’; pstr[n]= ’e’; pstr[n+1] = ’s’; (2) ;
}
显然,下面的if语句处理规则b所示的情况,即串的末尾为“s”、“ch”或“sh”的情形,空(3)处应填入“pstr[n-2]=’c’||pstr[n-2]=’s”或其等价形式。
if(pstr[n-1]==’s’||pstr[n-1]==’h’ && ( (3) ))
{
pstr[n] = ’e’; pstr[n+1] =’s’; pstr[n+2]=’\0’;
}
根据函数“char *plural(char *word)”的定义,最后应将求得的给定名词的复数形式返回给主调函数mae,对于串,应返回串空间的首地址,即返回指针pstr,因此空(4)处应填入“return pstr”。
根据以下代码,空(5)处应调用函数plural(char*word)对指定名词求复数,数组 WC初始化时已设置了名词序列,因此,空(5)处应填入“plural(wc
)”。
for(i = 0; i < 9; i++) {
ps= (5) ;
printf("%s: %s\n",wc
,ps); /*输出单词及其复数形式*/
free(ps); /*释放空间*/
}
转载请注明原文地址:https://www.kaotiyun.com/show/UIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某商场统计了每个月的销售总额,坚持了多年。每次公布上月销售额时,还都采用同比和环比概念与历史数据进行对比。以下叙述中,正确的是________________。
在Excel2010的A1单元格中输入函数“=ABS(ROUND(-1.478,2))”,按回车键后,A1单元格中的值为________________。
数据________________是将数据以图形图像形式表示,并利用数据分析工具发现其中未知信息的处理过程。
在Word2010文档中,某个段落最后一行只有一个字符,()不能把该字符合并到上一行。
国际标准化组织提出的开放系统互连OSI参考模型,将计算机网络分成7层,其中最底层是()。
下列关于Windows7屏幕保护程序的叙述中,不正确的是__________。
在Excel2007中,若在单元格A1中输入函数“=MID(“RUANKAO”,1,4)”,按回车键后,则A1单元格中的值为()。
在Excel中,若单元格C5=1000、D5=50、C6=6000、D6=40,在单元格E5中输入公式“=C5*$D$5”,再将此公式复制到F6单元格中,则F6单元格的值为(54)。
假设安装了Word的公式编辑器,要在Word文档中编辑出这个公式,正确的操作步骤是(46)。
请根据图2-13网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。以下网页设计方式中,可以使用户快捷有效的获取其所需信息的有(13)。(不定项选择)A.限制网页中同时
随机试题
A.心电图B.201TI心肌显像C.PETD.冠状动脉造影可准确评估心肌活力的检查方法是
兴奋性突触后电位的形成主要是由于
某孕妇26岁,孕34周,曾于8岁时发现室间隔缺损,但不影响工作、生活。近2天活动后感觉胸闷、气急,休息后心率为90次/min,前来医院就诊。此患者心功能是
A.冠粘固后,出现食物嵌塞B.冠粘固后,出现食物滞留C.冠粘固后,出现食物不易嚼碎D.冠粘固后,出现龈缘变黑E.冠粘固后,出现龈缘苍白接触点恢复不良可产生
确定建设工程施工进度控制目标的依据之一是()
()说课对于培养青年教师极为有效。
给定资料1.近几年“十一”期间,三亚酒店门口常聚集着一群人,他们骑着三轮摩托车,不厌其烦地问从酒店出来的客人去不去吃饭、购物等,并且开出的价格非常低。来三亚旅游的李女士选了一辆三轮摩托车,司机承诺带李女士去不宰客的水果店,他只挣水果店老
某项工程由工作效率相同的甲、乙两工程队承担。若甲、乙两队合做,工期可提前5天;著两队先合做6天,余下的由甲队独做,恰好也能按工期完成,则该工程的工期是:
“给我一打健全的儿童,一个由我支配的环境,我可以保证,无论这些儿童的祖先如何,我都可以把他们培养成为任何一种人,或者是政治家、军人、律师,抑或是乞丐、盗贼。”说出这句话的是
有下列程序:#include<stdio.h>main(){charc;while((c=getchar())!=’,’)putchar(++c);}程序运行时,如果从键盘输入:A,B,<CR>,则输出
最新回复
(
0
)