计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。 (注:字符串末尾不以空格为结尾 )

区块链毕设网qklbishe.com为您提供问题的解答

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾
/*使用动态数组来做,输入的字

  

编辑于 2016-08-29 14:07:27
// 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; } 

编辑于 2016-04-13 11:09:48
#include <iostream> #include <string> using namespace std;  int main() {     char ch;     int len = 0;     while((ch = getchar())!= 'n')     {         if(ch == ' ')         {             len = 0;         }         else         {             len++;         }     }     cout<<len<<endl;     return 0; }  

思路就是:让它输入不为空格或者换行符时,才对输入进行++,空格就将字符串长度清零。

59:03
 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));         }     } }
java
——————————————-
python
str = input().strip().split() print(len(str[len(str)-1])) 

编辑于 2017-10-14 10:19:42
import java.util.Scanner; public class Main{     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         String line = sc.nextLine();         String[] arr = line.split(" ");         System.out.println(arr[arr.length-1].length());              } }

25:37

#include <stdio.h>

int main(void)
{
    int len = 0;
    char c = ‘’;
    
    while( (c = getchar()) != ‘n’ )
    {
        if( c == ‘ ‘ )
            len = 0;
        else
            len++;
    }
    
    printf( "%drn", len );
    
    return 0;
}

41:48
我来个纯C的吧,仅供参考
#include<stdio.h>
#include<string.h>
void fun(char *array)
{
char *pnow,*plast;
pnow=plast=array;
//int len;
while(NULL!=*(++pnow))
{
if(*pnow==’ ‘)
plast = pnow+1;
}
printf("%dn",strlen(plast));
}
int main()
{
char a[1000];
while(NULL!=gets(a))
{
fun(a);
}
return 0;
}

07:43
var str=readline(); function fun(str){     if(str.indexOf(' ')!=-1){         var result=str.split(' ');         return result[result.length-1].length;     }else{         return str.length;     } } console.log(fun(str));

//javascript版

编辑于 2017-08-18 17:43:08
  
 //输入流直接会记录最后一个字符串,因为单词之间是用空格隔开的

#include<iostream> #include<string> using namespace std; int main(){ string str; while(cin>>str); cout<<str.size()<<endl; return 0; }

编辑于 2016-09-01 22:17:34

python solution easy to understand:

a=input().split() print(len(a[-1]) if len(a)>1 else len(a[0]))

编辑于 2017-09-06 15:35:03
 
//一行
#include <iostream>
#include <string>
using namespace std;
intmain(){
    string a;
    while(getline(cin,a)) {
        cout << a.length() - a.find_last_of(' ')-1;
    }
}

15:24
import sys for line in sys.stdin:     a = line.split()     print len(a[-1])     

人生苦短,快用python,最近刚学的python,不要太简单奥!!

23:33
//最简单的方法就是,根本就不需要存储字符串,直接计算长度就可以了,也不需要动态的复杂的数据结构 #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("%dn", n); 	return 0; }  

编辑于 2017-08-15 16:46:32

//找到了半天没有我大JS的,上一个正确代码,给大家看看JS在牛客的输入输出,顺便吐槽一句
var readline = require(‘readline’);
const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
});
rl.on(‘line’, function(line){
   var tokens = line.split(‘ ‘);
    console.log(tokens[tokens.length-1].length);
});

35:07

import java.util.Scanner; public class Main{     public static void main(String[] args){         String str = new Scanner(System.in).nextLine();         System.out.print(str.length()-str.lastIndexOf(" ")-1);     } } 
代码通过了,那些说要考虑最后一个单词后面的空格字符的,麻烦请审题

题目描述

计算字符串最后一个单词的长度,单词以空格隔开。 

07:55
直接用c++提供的标准库函数进行解决。。方便,简单,代码量少少的,妈妈再也不用担心我不会码代码了!!!
#include <string>
#include <iostream>
 using namespace std;
intmain()
    {
    
    string input;
    string output_str;
    //cout<<"please input some words : "<<endl;
    while( getline(cin,input))
    {
        string::size_type pos=input.rfind(" ");
        output_str.assign(input,pos+1,input.size()-pos);
        cout<<output_str.size()<<endl;
    }
     
  return0; 
}

01:39

import java.util.Scanner;

public class Main {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String string=sc.nextLine();
        String[] array=string.split(" ");
        System.out.println(array[array.length-1].length());
    }
}

26:04

#include <stdio.h>  int main(void) {     char str[5000] = {0};     gets(str);//the input is less then 5000,so use the gets is safe.      char * p = str;     int lastWordSize = 0;     //identify the string is only one word     while(*p != ' ' && *p != '')     {         p++;         lastWordSize++;     }     if(*p == '')     {         printf("%dn",lastWordSize);         return 0;     }      p = str;     lastWordSize = 0;     p += strlen(str)-1;      while(*p != ' ')     {         lastWordSize++;         p--;     }      printf("%dn",lastWordSize);      return 0; }

22:55

import java.util.Scanner;
import java.lang.String;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String last = "";
        //取最后一个字符串就行

        while (in.hasNext()) {
            last = in.next();
        }
        System.out.println(last.length());
    }
}

43:48

# 寻找最后一个空格的位置,然后字符串长度减去空格位置就得单词长度 string = input().strip() n = len(string) for i in range(n):     if ( i==0 or string[i-1]==' ') and string[i]!=' ':         res = i print(n-res)

27:31
s = raw_input()
r = s.split(‘ ‘)
print len(r[-1])

36:18

以上就是关于问题计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。 (注:字符串末尾不以空格为结尾 )的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。 (注:字符串末尾不以空格为结尾 )