#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
char noun[25];
char plural[28];
fgets(noun,24,stdin);
strcpy(plural,noun);
int len=strlen(plural);
if(plural[len-2]=='h'||plural[len-2]=='s'){
plural[len-1]='e';
plural[len]='s';
plural[len+1]='\0';
}else if(plural[len-2]=='y'){
plural[len-2]='i';
plural[len-1]='e';
plural[len]='s';
plural[len+1]='\0';
}else{
plural[len-1]='s';
plural[len]='\0';
}
printf("The plural of noun %s is %s\n",noun,plural);
return 0;
}
输出始终如下:
&#34;名词马的复数
是马&#34;
即使我没有把\ n放在printf的中间,只是最后。
答案 0 :(得分:0)
fgets在你输入时从stdin中获取一个尾随的换行符。因此,名词以换行符结束