首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
63
问题
阅读以下说明和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://kaotiyun.com/show/UIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
数据分析工具的(13)________________特性是指它能导入和导出各种常见格式的数据文件或分析结果。
在Excel2010中,C3:C7单元格中的值分别为10、OK、20、YES和48,在。D7单元格中输入函数“=COUNT(C3:C7)”,按回车键后,D7单元格中显示的值为________________。
计算机网络中,防火墙的功能不包括________________。
Windows7中的文件命名规则不包括________________。
信息系统通常会自动实时地将所有用户的操作行为记录在日志中,其目的是使系统安全运维()。
在Windows系统的资源管理器中,文件和文件夹可以采用多种形式显示,但不能以(40)形式显示。
下列不是Access系统数据库对象的是______。
在Excel中,设单元格A1中的值为100,B1中的值为200,A2中的值为300,B2中的值为400,若在A3单元格中输入函数“=SUM(A1:B2)”,按回车键后,A3单元格中的值为()。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
在Windows7运行时,为强行终止某个正在持续运行且没有互动反应的应用程序,可按组合键Ctrl+Alt十Del启动(24)________________,选择指定的进程和应用程序,结束其任务。
随机试题
2003年某省政府为实施省人大的地方性规定出台一部规章,2006年省人大对该地方性法规进行修订,但未对该规章废止与否作出规定。2008年某省行政机关依据该规章对甲作出处罚。甲不服处罚提起行政诉讼,提出不应适用该规章。关于法院是否应适用该规章,下列哪些说法是
世界银行贷款项目采购工程和货物的资格预审方法是通过或不通过的合格制,评标方法是实质上的响应招标文件的有资格和能力的()中标。
下列现浇钢筋混凝土板底乳胶漆顶棚的工程做法,从外向里依次表述,其中哪条做法是错误的?[2003-096]
以下属于资产负债表非流动负债的是()。
简述教育与生产力的关系。
3~6岁儿童使用的主要句型是()
行政监督中的社会监督包括()。
下列职位中,我国《宪法》没有规定连任不得超过两届的是()。
某大会主席宣布:“此方案没有异议,大家都赞同,通过。”如果以上不是事实,下面哪项必为事实?
M:That’sabeautifuldressyouhaveon!W:______
最新回复
(
0
)