1. #include <stdio.h>
    2. //用到strlen函数
    3. #include <string.h>
    4. //计算字符串最后一个单词的长度
    5. int main(void)
    6. {
    7. //题目已要求字符串长度小于5000
    8. char str[5000] = {0};
    9. //善用指针解决问题,指向字符串存储区
    10. char *str_p = str;
    11. //计数
    12. int count = 0;
    13. //获取字符串
    14. //函数原型 char *fgets(char *str, int n, FILE *stream)
    15. //从stream流中读取n-1个字符存在str指向的字符串中,常见于文件操作,stdin为文件指针
    16. fgets(str, sizeof(str), stdin);
    17. int str_len = strlen(str) - 1;//减去换行符,获取字符串真实长度
    18. //防止无输入意外情况
    19. if (str_len <= 0) {
    20. printf("0\n");
    21. return 0;
    22. }
    23. //指针指向最后一个字符,倒叙检索
    24. str_p = str_p + str_len - 1;
    25. for (int i = 0; i < str_len; i++)
    26. {
    27. if (*str_p == ' ')
    28. break;
    29. count++;
    30. str_p--;
    31. }
    32. printf("%d\n", count);
    33. return 0;
    34. }

    太麻烦换用C++

    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4. int main()
    5. {
    6. string str;
    7. while(cin>>str);
    8. cout<<str.length()<<endl;
    9. return 0;
    10. }