您的位置:首页 > 编程语言 > C语言/C++

C语言 在已知字符串中找最长单词

2015-08-18 09:33 375 查看
编程在一个已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
比如:"ni hao world",最长单词是5个字母

这个题目其实不难,但是很多初学者会没有思路,我把这个分享出来.编译器用的是xCode.
int length = 0, temp =0;
char str[100] ="";//xCode中没有String 用字符数组来表示

gets(str);  //  获取字符串

for (int i =0; i < strlen(str); i++) {
if (!((isalpha(str[i])) || (str[i] ==' '))) {  // 验证输入是否为字母或空格
printf("⚠️ Notify: just input with letter or space\n");
return 0;  //  输入不合法 结束
} elseif (str[i] == ' ') {//  遇到空格则长度清0
length = 0;
} else {
length++;// 不是空格,长度+1
if (length > temp) {   //若出现长度更长的单词则记录
temp = length;
}
}
}

printf("longest: %d",temp);// 输出最长单词字母个数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: