#include <stdio.h>
#include <string.h>
int main(){
char str[2000];
gets(str); // 读入一行字符,回车结束
int min = 2000,max = 0,min_i,max_i,len = 0;
int i;
str[strlen(str)] = ' '; // 数组最后加一个空格,作为最后一个单词的判断点
for(i = 0;i <= strlen(str);i++){
if((str[i] >= 'a' && str[i] <= 'z') ||
(str[i] >= 'A' && str[i] <= 'Z')){
len ++;
} else if(len > 0) { // 表示一个单词结束,读到了逗号或者空格(反正不是字母)
if(len < min){ // 最大最小分别判断,起始点就是当前下标-长度
min_i = i - len;
min = len;
}
if (len > max){
max_i = i - len;
max = len;
}
len = 0; // 做好了一个单词对max和min的更新,长度计数器清零找下一个单词
}
}
// 输出最长单词
for(i = max_i;i < max_i+max;i++){ // 从下标开始,max个长度,一个字符一个字符输出
printf("%c",str[i]);
}
printf("\n");
// 输出最短单词
for(i = min_i;i < min_i+min;i++){
printf("%c",str[i]);
}
return 0;
}
【C语言】寻找字符串中的最长最短字符
该代码片段使用C语言实现,功能是从用户输入的一行字符中找到最长和最短的单词。它首先读取一行,然后遍历字符串,通过判断字符是否为字母来确定单词的开始和结束,进而计算出最长和最短单词的长度和起始位置,并输出结果。
摘要由CSDN通过智能技术生成