列表

详情


HJ1. 字符串最后一个单词的长度

描述

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

输入描述

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:

hello nowcoder

输出:

8

说明:

最后一个单词为nowcoder,长度为8

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Pascal 解法, 执行用时: 2ms, 内存消耗: 256KB, 提交时间: 2022-05-12

program test;
var
    inputstr:string;
    i:integer;
begin
    Readln(inputstr);
    for i := length(inputstr) downto 1 do begin
        if inputstr[i] = ' ' then begin
           writeln(length(inputstr)-i);
           break;
        end;
    end; 
    if i = 1 then
        writeln(length(inputstr));
end.

C 解法, 执行用时: 2ms, 内存消耗: 280KB, 提交时间: 2022-05-16

/*#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
    char str[5000] = {0};
    //scanf("%s", str);
    gets(str);
    int i = 0;
    int len=0;
    len=strlen(str);
    while((len>=1)&&(str[len-1]!=' '))
    {
        i++;
        len--;
    }
    printf("%d",i);
}*/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
	char str[5000] = { 0 };
	gets(str);
	int i = 0;
	int len = 0;
	len = strlen(str);
	char* b=strrchr(str, ' ');
    if(b!=NULL)
	   printf("%d", len-(b-str+1));
    else
        printf("%d",len);
}

上一题