C语言输出最长单词

本文介绍了一个使用C语言编写的程序,该程序能够从输入的字符串中找出并打印出最长的单词。通过记录每个单词的长度及位置,比较并保存最长单词的信息。

#include <stdio.h>
#include <string.h>

int main() {
void len(char eng[ ], char lens[ ]);
char eng[100], lens[50];
gets_s(eng);
len(eng, lens);
printf("%s", lens);
return 0;
}
void len(char eng[ ], char lens[ ]) {
//a,b代表起始位置,max存储当前最大长度,length单个单词长度
int temp[2],a=0,b=0,max=0,i,length;
for ( i = 0; i < (int)strlen(eng); i++)
{
if (eng[i] != ' ') {
b++;
}
else {

//获取该单词长度

length = b - a ;
if (length > max) {
max = length;

//保存单词起始位置
temp[0] = a;
temp[1] = b;
}

//遇到空格往前面跳一个进入下一个单词的首字母
a = b + 1;
b = a;
}

//当最后一个坐标是字母时需要下面代码,加了标点符号可以注释下面代码
if (i == (int)strlen(eng) - 1) {
length = b - a;
if (length > max) {
max = length;
temp[0] = a;
temp[1] = b;
a = b + 1;
b = a;
}
}
}

//遍历最长单词
int j;
for (j=0, i = temp[0]; i <temp[1]; i++,j++)
{
lens[j] = eng[i];
}
lens[j] = '\0';
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值