c语言输入一行字符 输出最长的单词,输入一句话,找出其中最长的单词,并输出...

博客介绍了如何使用C语言通过二维数组找到输入句子中最长的单词。作者通过讲解思路、处理细节,展示了一种利用二维数组和字符串长度比较来解决这个问题的方法。在代码实现中,以英文句号为输入结束标志,遍历二维数组找最长单词。
摘要由CSDN通过智能技术生成

理解题意:1.先输入一句话。2.在这句话中找到最长的那个单词并输出显示。

这个题是我们老师上课的时候给我们留的作业。因为刚好学过了二维数组所以果断采用二维数组来解题。个人觉得,这个逻辑思路其实相较一维数组来解会更简单一些。

我的思路是:要找最长单词,就要获取每个单词的长度然后进行比较,直到找到最大的那一个。

详解:将每一个单词当做一个一维数组,而这个句子就成了一个二维数组。因此要找到最长的单词,其实只需要比较每个单词的长度就好了!题目的主体是分析字符串所以这里无疑是要用char类型来定义变量的。而正好对于字符串或者说是char类型的一维数组,我们可以使用string.h 中的strlen()函数来直接获取字符串的长度。因此单词长度的事情解决了,就剩下了找最大长度单词的任务了,我采用了打擂台赛的比较方式,定义了一个max 来存储最大长度,在遍历这句话的时候,每个单词的长度都需要和max进行比较,将比max大的值赋给max,使max一直都是当前最大值。另外此处要定义一个k来记录最长单词在这句话中的位置即当前最长单词在二维数组中的存储下标。

细节处理:当上面的逻辑清楚之后就可以开始敲代码了,但是,也不是一蹴而就的,其中也会遇到一些之前没有想到的细节问题。1.对于字符串,需要有结束标记。在一维数组中,会自动以'\0'为一字符串的结束标志。但是在二维数组中就没有了!因此,为了在遍历语句时有结束标志,我将英文中的逗号'.'作为输入语句的结束标志。2.因为是以二维数组的方式处理,所以,在输入数据的时候,用的是%s 字符串输入,而不是%c字符输入。所以每一个单词输完后就会单独占用二维数组的一行来进行

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值