OJ题:字符串最后一个单词的长度

题目描述

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

输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
输入例子:
hello world
输出例子:
5

程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
    char str[5000] = {0};
    int count = 0 ,start;
    gets(str);
    const int str_length =  strlen(str);
    start = str_length - 1 ;
    while(start >= 0)
    {
        if(str[start] == ' ')
            break ;
        count++ ;
        start-- ;
    }
    printf("%d",count);
    return 0 ;
}
题目陷阱,肯定会有同学用scanf()去输入字符串,这里应当使用gets();gets() 和scanf()的区别在于输入的字符串是否中间有空格:对于前者,只有遇到"\n"时才停止输入,而对于后者,出现"\n"或空格都停止输入。
时间: 2024-08-19 14:03:53

OJ题:字符串最后一个单词的长度的相关文章

[华为机试练习题]19.字符串最后一个单词的长度

题目 代码 /*--------------------------------------- * 日期:2015-06-30 * 作者:SJF0115 * 题目:字符串最后一个单词的长度 * 来源:华为上机 -----------------------------------------*/ #include <iostream> #include <string> #include <algorithm> #include <vector> using

[LeetCode] Length of Last Word - 最后一个单词的长度

题目概述:Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. Note: A word is defined as a character sequence consists of non-spac

Length of Last Word:求最后一个单词的长度

[ 问题: ] Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. 给你一个字符串,设法获取它最后一个单词的长度.如果这个单词不存在,则返回0. [ 分析 : ]A word is defined

OJ题:输入一个多位的数字,求各数位相加。

题目内容: 输入一个多位的数字,1求各数位相加. 例如输入12345,则计算1+2+3+4+5=15 输入格式: 一个整数 输出格式: 一个整数 输入样例: 1234567890 输出样例: 45 时间限制:500ms内存限制:32000kb 实现程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int cnt_count(int value) { int count = 0 , cnt = 0

c语言-一个OJ题,数字太大,计算机没法存储,如何解?

问题描述 一个OJ题,数字太大,计算机没法存储,如何解? http://219.218.128.149/JudgeOnline/problem.php?id=1261 这是这道题的地址,3个区域,A,B,C 开始在A,跳到别的区域,不能原地跳,且最后一次跳只能跳回A,输入跳的次数n,问一共有多少种跳法,最后把跳法数%10000,我算法已经弄好,但是发现跳法数太多,计算机无法存储,最高到2^1000,怎么解决? 解决方案 总结规律呗,不需要很多内存的

设计-关于一个单词匹配的题目,得不到想要的结果,贴出源程序,求大神帮忙~~~

问题描述 关于一个单词匹配的题目,得不到想要的结果,贴出源程序,求大神帮忙~~~ #include#include#include#include#includeint IsOneCharDifferent(char array[255]);int IsIt(char array[255]);int IsMoreOrLessOneChar(char array[255]);//************************************************************

java-获取字符串中指定单词的开始和结束位置?

问题描述 获取字符串中指定单词的开始和结束位置? 有一个较长的String字符串 还有有一个String单词数组 要查找单词数组里的每一个单词在字符串中的位置(int start和int end). 比如单词为:Hi 字符串为:Hi,I am Mark. 那么Hi的start为1 end为2 有没有什么算法可以比较好的做出来? 需求:有个单词数组.要将单词数组里的单词在字符串中显示高亮. 发现:SpannableStringBuilder里有个setSpan可以做到. 但setSpan需要设置高

c语言-C语言课程设计字符串题目匹配单词,求大神~~~~~~~~~~~~~~~~~

问题描述 C语言课程设计字符串题目匹配单词,求大神~~~~~~~~~~~~~~~~~ 详细题目如下:设有n个单词的字典表(1<=n<=100),计算某单词在字典表中的4种匹配情况(字典中的单词和待匹配的单词长度上限为255):1)i :该单词在字典表中的序号:2)Ei:在字典表中仅有一个字符不匹配的单词不匹配的单词序号:3)Fi:在字典表中多(或少)一个字符(其余字符匹配)的单词序号:4)N:其他情况.当查找时有多个单词符合条件,仅要求第1个单词的序号即可.1)输入文件,文件格式为:n(字典表

源代码-【二维字符数组】从键盘输入若干英文单词,单词最大长度不超过 15 个字母,把单词按照长度从大到小排序

问题描述 [二维字符数组]从键盘输入若干英文单词,单词最大长度不超过 15 个字母,把单词按照长度从大到小排序 用C语言来写,还没有学到指针,所以不要指针的写法,求大神给个源代码,我自己已经想了3个小时了还没有写出来. 解决方案 不用指针的话,没有办法动态分配内存,我们只能做一个假设,那就是键盘输入的单词不超过n(比如n=100,可以视作无限大) 至于排序,可以用冒泡都可以. 解决方案二: #include<string.h> #include<stdio.h> void main