填空题


阅读以下说明和C程序,填补空缺。
[说明]
下面的程序按照以下规则输出给定名词的复数形式。
(1)若名词以“y”结尾,则删除y并添加“ies”。
(2)若名词以“s”、“ch”或“sh”结尾,则添加“es”。
(3)其他所有情况,直接添加“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[i], ps); /*输出单词及其复数形式*/
free(ps); /*释放空间*/
}
system("pause");
}

【参考答案】

plural(wc[i]),或其等价表示
热门 试题

填空题
date
填空题
n+a