题解 | #字符串最后一个单词的长度#
字符串最后一个单词的长度
https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da
#include <stdio.h> #include "string.h" //方法一 // int main() // { // char a[5000]={0}; // int num; // while (scanf("%s",a)!=EOF) //读取除了空白外的全部字符串 // { // num=strlen(a); // } // printf("%d\n",num); // return 0; // } //方法二 int main() { char str[5000]={0}; fgets(str,5000,stdin); int len = strlen(str); int k=0; for (int i=0; i<len; i++) { k++; if (str[i]==' ') { k=0; } } if (str[len-1]=='\n') //查看最后一个字符是不是换行符号 { k=k-1; } printf("%d\n",k); return 0; } //方法三 // int last_one(const char* p,int len) // { // int count=0; // while (*(p+len-1)) // { // if (*(p+len-1)!=' ') // { // ++count; // --len; // } // else // { // break; // } // } // return count; // } // int main() // { // char ch[5000]={0}; // fgets(ch,5000,stdin); // int len=strlen(ch); // if (ch[len-1]=='\n') //ch最后一位如果是‘\n’则认为长度-1 // { // len=len-1; // } // len=last_one(ch,len); // printf("%d\n",len); // return 0; // }
结合了看到的三种方法,个人觉得考察的是第二张方法。