.写一个函数,输入一行字符,将此字符串中最长的单词输出。
在一个字符串中,单词与单词之间会被其它字符隔开如:‘,’,‘;’,‘!’,如果这个单词在字符串末尾则不会有其它字符隔开。假设不考虑单词的拼写是否正确,只要中间没有其它非字母字符,则认为这是一个单词,c语言代码如下:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
char cupWord[100];
char maxWord[100];
char* Get_maxWord(const char *str)
{
int len_cup = 0;
int len_max = 0;
while (*str != '\0')
{
if (isalpha(*str)) //判断字符是否是一个字母字符
{
cupWord[len_cup] = *str;
len_cup++;
}
else
{
if (len_cup > len_max)
{
strcpy_s(maxWord, 100,cupWord);
len_max = len_cup;
}
len_cup = 0;
}
str++;
}
if (len_cup > len_max) //判断最后一个单词大小
{
strcpy_s(maxWord,100, cupWord);
}
return maxWord;
}
int main()
{
const char str[] = "sheth;ehnent;wregWEbhsd";
printf("%s\n", Get_maxWord(str));
return 0;
}
输出结果: