试题描述:计算字符串最后一个单词的长度,单词之间以空格隔开

涉及的知识点:

1、scanf读取;

1.1、以%d读取时,只识别“十进制整数”。对 %d 而言,空格、回车、 Tab 键都是区分数据与数据的分隔符。当 scanf 进入缓冲区中取数据的时候,如果 %d 遇到空格、回车、Tab 键,那么它并不取用,而是跳过继续往后取后面的数据,直到取到“十进制整数”为止(最开始)。对于被跳过和取出的数据,系统会将它从缓冲区中释放掉。未被跳过或取出的数据,系统会将它一直放在缓冲区中,直到下一个 scanf 来获取(中间遇到空格等分隔符不会读取后面的数据,等待下次scanf读取)。如果 %d 遇到字母,那么它不会跳过也不会取用,而是直接从缓冲区跳出。注意:读取多个数字时,输入数据中间以空格分开。

#include

int main()

{

int num;

scanf("%d\n", &num);

printf("num = %d", num);

return 0;

//上述代码,当输入为 123 456时,输出为num = 123. 当输入为a时,num没有取到数字,输出乱码

}

1.2、以%c读取时,任何数据都会被当作一个字符,不管是数字还是空格、回车、Tab 键它都会取回。

1.3、以%s读取时,会读取字符串,但是遇到空格、回车键以及Tab键就会认为字符串读取结束,空格后的字符串作为下一个输入项处理

2、gets()读取时

从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间,并且可以读取到空格、回车键等。注意:系统会将最后“敲”的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符,读取的字符串中包括换行符。

C语言解法一(此种解法没有考虑到末尾由空格的情况):

#include

int main(void){

int i=0,j=0,count_blank=0;

char *str = (char *)malloc(5000);

gets(str);

while((int)str[i]!='\0')

{

i++;

j++;

if((int)str[i]==' ' || str[i]=='\t')

{

j=0;

count_blank++;

}

}

if(0==count_blank)

j=i+1;

free(str);

printf("%d\n",j-1);

}

C语言解法二(此种解法考虑到末尾有空格的情况):

#include

#include

#include

int main(void){

int i=0,j=0;

char str[5000];

//char *str = (char *)malloc(5000);

gets(str);

int n = strlen(str);

int flag = 1;

for(i=n-1;i>=0;i--)

{

if(flag && str[i]==' ')

{

continue;

}

else if(str[i]!=' ')

{

flag = 0;

++j;

}

else

{

break;

}

}

//free(str);

printf("%d\n",j);

}

Python解法:

import sys

s=sys.stdin.readline()

//sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',

//因此用len计算长度时是把换行符'\n'算进去了的,但是input( )获取输入时返回的结果是不包含末尾的换行符'\n'的。

//可以用strip( )函数(sys.stdin.readline( ).strip('\n'))或sys.stdin.readline( )[:-1]这两种方法去掉换行。

list=s.split()

//split() 通过指定分隔符对字符串进行切片,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

print len(list[-1])

c语言求最后一个单词的长度,试题2:计算字符串最后一个单词的长度相关推荐

  1. c语言计算字符串最后一个单词长度,2020-05-28华为机考题--字符串最后一个单词的长度(C语言实现)...

    题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 示例1 hello world 输出 5 算法思路 ...

  2. python计算分段函数输出x+2的值怎么写_c语言求分段函数分段函数求解:输入 x ,计算并输出 y 的值:y=x+100 ( 当 x < 20) y= x ( 当...

    题目: c语言求分段函数 分段函数求解:输入 x ,计算并输出 y 的值: y=x+100 ( 当 x < 20) y= x ( 当 2 0 ≤ x ≤ 100) y=x-100 ( 当 x & ...

  3. python实现:计算字符的个数,接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。

    题目内容: 接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数.不区分大小写. 可以使用以下语句实现字符串s的输入: s=str(input()) 输入格式: 输入一个 ...

  4. 华为机试题1:计算字符串最后一个单词的长度,单词以空格隔开。

    输出一个整数,表示输入字符串最后一个单词的长度. #include "stdafx.h" #include<iostream> #include<string&g ...

  5. PHP | 计算字符串中的单词总数

    Given a string and we have to count the total number of words in it. 给定一个字符串,我们必须计算其中的单词总数. str_word ...

  6. php 变量 长度,php 怎么计算字符串长度

    这篇文章主要介绍了利用PHP函数计算中英文字符串长度的方法,实例对比了PHP函数实现方法与正则表达式的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了利用PHP函数计算中英文字符 ...

  7. php技术计算字符个数的函数是什么,php计算字符串中的单词数的函数str_word_count()...

    实例 计算字符串 "Hello World!" 中的单词数:<?php echo str_word_count("Hello world!"); ?> ...

  8. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  9. Python的Couter使用,计算字符串中每个单词出现的次数

    文章目录 一.统计字符串每个元素出现的次数 一.统计字符串每个元素出现的次数 示例:计算字符串中"i love python,python is beautiful"出现2次的第1 ...

最新文章

  1. springboot . 配置jpa使用
  2. Android应用Push至设备system目录
  3. C# VS生成后事件命令行
  4. 开发iOS即时通讯工具参考的一些开源、框架和教程
  5. 判断是否是数字类型php_PHP函数补完:判断变量是否为数字is_numeric()
  6. 开发10年,全记在这本Java进阶宝典里了!
  7. java版 高斯过程_高斯过程scikit-learn - 异常
  8. 移动端H5解惑-页面适配
  9. 标注工具 labelImg 的下载安装及使用
  10. duilib入门教程
  11. 嵌入式软件高频面试题
  12. JFugue4.0 中文说明
  13. 中小学计算机培训心得体会,中小学计算机管理员培训心得体会材料
  14. 德乐生 java_【Senior Java Developer怎么样】德乐生软件2021年Senior Java Developer前景怎么样-看准网...
  15. 水星路由器DNS服务器未响应,新买的水星(MERCURY)路由器怎么设置?
  16. pthon缺陷检测(机器视觉)
  17. Windows 纤程/协程
  18. LateX安装教程(对小白新手超级友好,还瞅啥,说的就是你)
  19. 计算机bootmgr丢失,如何修复BOOTMGR缺少错误
  20. Ubuntu20.04 使用Python实现全过程离线语音识别(包含语音唤醒,语音转文字,指令识别,文字转语音)

热门文章

  1. c/c++处理命令行参数int argc, char **argv的方法
  2. Java判断字符串是否为纯数字(0-9)
  3. matlab中仿真丢包,使用MATLAB进行误比特率(BER)仿真----转载
  4. 傲游浏览器linux傲游源,Ubuntu下安装遨游浏览器
  5. SpecFlow的力量
  6. Abp框架默认表中如何添加字段
  7. Java EE 规范重命名为 Jakarta EE
  8. python爬虫库教程_Python爬虫Selenium库详细教程
  9. python批量读取图片并复制入word_提取出 Word 文档里的图片 并利用 python 批量转换格式...
  10. json 来实现 php 与 javascript,用 Json 来实现 PHP 与 JavaScript 间数据交换