题目描述:
计算字符串最后一个单词的长度,单词以空格隔开
输入:
一行字符串,长度小于128
输出:
整数N,最后一个单词的长度
样例输入:
Hello world
样例输出:
5
注意到scanf 不接收 空格,回车和Tab键。以此来获得最后一个单词
char str[128];
int N=0;
do{
scanf("%s",str);
}while(getchar() !=EOF);
cout<<strlen(str);
这样写,会使得只有连续输入128个字符或者出现输入错误才能跳出循环。
编辑可以输入一行字符串的函数
int getline_(char s[], int lim)
{
int c,i;
i=0;
while((c=getchar())!=EOF && c!='\n' && i<lim-1)
s[i++]=c;
s[i]='\0';
return i;
}
其中s为接收字符串,lim表示最多可以输入多少个字符
然后从后到前查看最近的一个空格,计算出最后一个单词的长度
i=getline_(str,128); //输入字符串的个数
while(i>0)
{
i=i-1;
if(str[i]==' ')
break;
N++;
}
程序结果