校招编程练习题1 计算字符串最后一个单词的长度,单词以空格隔开。

来源:华为机试题1

描述

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

知识点 字符串,循环
运行时间限制 0M
内存限制 0
输入

一行字符串,非空,长度小于5000。

输出

整数N,最后一个单词的长度。

样例输入 hello world
样例输出

5

C语言实现
#include
#include
int main()
{
    char str[5000];
    gets(str); // gets()用来从标准设备读入字符并存到参数str所指的内存空间,直到出现换行字符或读到文件尾为止,最后加上NULL作为字符串结束。
    int count=0;            // 计数变量
    int len=strlen(str);    // strlen()计算给定字符串的(unsigned int型)长度,不包括'\0'在内
    for(int i=(len-1);i>=0;i--)
    {
        if(str[i]!=' ')
        {
            count++;
        }
        else
        {
            break;           //满足条件时,跳出本层for循环
        }    
    }
    printf("%d\n",count);
    return 0;
}

补充知识点:

(1)gets()函数

参考:c语言中get()函数的原理及返回值 - CSDN博客  点击打开链接

(2)strlen()函数

参考:C语言中的strlen与sizeof的区别 - CSDN博客  点击打开链接

联想记忆下sizeof()

(3)break

参考:c语言中break和continue的用法和区别 - CSDN博客  点击打开链接

a.break语句通常用在循环语句和开关语句中。当break语句用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。

b.当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。

二、continue语句的作用是跳过本循环中剩余的语句而强制执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。


你可能感兴趣的:(C)