计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
import java.util.*;
public class Main{
public static int lengthOfLast(String str) {
String[] s =str.split(" ");
return s[s.length-1].length();
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
String str = scan.nextLine();
System.out.println(lengthOfLast(str));
}
}
}
str = input().strip().split() print(len(str[len(str)-1]))
// C++ //有些同学的答案没考虑到末尾有空格的情况,对于末尾有空格的都输出为0了。 //“hello world ”依然输出5. #include<iostream> #include<string> using namespace std; int main() { string s; while(getline(cin,s)){ int n=0,flag=1; for(int i=s.length()-1;i>=0;--i){//倒着计算 if(flag && s[i]==' '){//如果末尾有空格,先清除末尾空格 continue; } else if(s[i]!=' '){ flag = 0; ++n; } else{ break; } } cout << n << endl; } return 0; }
//最简单的方法就是,根本就不需要存储字符串,直接计算长度就可以了,也不需要动态的复杂的数据结构 #include <stdio.h> int main() { char ch; int n = 0; int flag = 0; while(1) { ch = getchar(); if(ch == '\n'){ break; } else if(ch != ' ') { if(flag == 0){ n = 0; flag = 1; } n++; } else { flag = 0; } } printf("%d\n", n); return 0; }