在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。
除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过
。
在一行上输出一个整数,代表最后一个单词的长度。
HelloNowcoder
13
在这个样例中,最后一个单词是
,长度为
。
A B C D
1
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; }