(函数)判断一句话中最长的单词(C语言)

一、运行结果;

二、源代码;

cs 复制代码
# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>

//声明函数;
int aiphabetic(char);
int longest(char[]);

int main()
{
	//初始化变量值;
	int i;
	char line[100] = { 0 };

	//获取用户输入字符串;
	printf("请输入一句话:");
	gets(line);

	//输出最长单词;
	printf("最长单词为:");
	for (i = longest(line); alphabetic(line[i]); i++)
	{
		//输出;
		printf("%c", line[i]);
	}

	//换行;
	printf("\n");

	return 0;
}

//实现函数;
int alphabetic(char c)
{
	//判断;
	if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

int longest(char string[])
{
	//初始化变量值;
	int len = 0, i, length = 0, flag = 1, place = 0, point;

	//循环判断;
	for (i = 0; i <= strlen(string); i++)
		if (alphabetic(string[i]))
			if (flag)
			{
				point = i;
				flag = 0;
			}
			else
			{
				len++;
			}
		else
		{
			flag = 1;
			if (len >= length)
			{
				length = len;
				place = point;
				len = 0;
			}
		}

	return place;
}
相关推荐
沫璃染墨11 分钟前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
时间的拾荒人16 分钟前
Qt 窗口系统详解:从菜单栏到对话框的完整指南
开发语言·qt·面试
wuminyu23 分钟前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
Felven29 分钟前
B. Reverse a Permutation
c语言
wuyk55536 分钟前
Python 网络爬虫入门到实战 第 04 章:请求头、UA 伪装、超时、异常处理、基础反爬绕过
开发语言·爬虫·python
流形填表41 分钟前
题库去重实战:基于题干指纹的重复题清理
开发语言·c#
\光辉岁月/44 分钟前
3.java运算符
java·开发语言
Logic1011 小时前
C语言/数据结构排序题解:三个数的最大乘积——排序后比较两种候选情况
c语言·数据结构·数组·排序·时间复杂度·算法题·负数处理
知识分享小能手1 小时前
C++ 学习教程,从入门到精通,string类和标准模板库 — 完整知识点详解(16)
开发语言·c++·学习
qq_401700411 小时前
Qt 炫酷曲线,图表,2D/3D开源库
开发语言·qt