白马非马P 2021-03-06 19:57 采纳率: 33.3%
浏览 27
已采纳

最后一个单词的这种方法,为啥我没有输出,程序能正常编译

//计算最后一个单词的长度
#include<cstdio>
#include<cstring>

char s[10005];
int main()
{
	while( scanf("%s", s) != EOF);//一直读到不再有输入 
	int len = strlen(s);
	printf("%d\n", len);

	return 0;
}
  • 写回答

3条回答 默认 最新

  • A_box_of_yogurt 2021-03-06 21:10
    关注

    试试这个(只适用于所有单词在同一行的情况)

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {
    	string s;
    	int len = 0; 
    	getline(cin, s);
    	for(int i = s.length() - 1; i >= 0; --i) {
    		if(s[i] != ' ') ++len;
    		else break;
    	}
    	cout << len;
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?