#include #include using namespace std;

int main() { char str[201]; cin.getline(str, 201); // 读入整行字符串 int len = strlen(str); int max_len = 0, min_len = 101; // 最长单词长度和最短单词长度 char max_word[101], min_word[101]; // 最长单词和最短单词 int start = 0; // 当前单词的起始位置 for (int i = 0; i < len; i++) { if (str[i] == ' ' || str[i] == ',') { // 遇到空格或逗号,表示当前单词结束 int word_len = i - start; // 当前单词的长度 if (word_len > max_len) { // 如果当前单词比最长单词还长,更新最长单词 max_len = word_len; strncpy(max_word, str + start, word_len); // 拷贝当前单词到 max_word max_word[word_len] = '\0'; // 在字符串末尾加上'\0',表示字符串结束 } if (word_len < min_len) { // 如果当前单词比最短单词还短,更新最短单词 min_len = word_len; strncpy(min_word, str + start, word_len); min_word[word_len] = '\0'; } start = i + 1; // 更新下一个单词的起始位置 } } // 处理最后一个单词,注意最后一个单词后面没有空格或逗号 int word_len = len - start; if (word_len > max_len) { max_len = word_len; strncpy(max_word, str + start, word_len); max_word[word_len] = '\0'; } if (word_len < min_len) { min_len = word_len; strncpy(min_word, str + start, word_len); min_word[word_len] = '\0'; } cout << max_word << endl << min_word << endl; return 0; }

C++ 语言实现:找出句子中最长和最短的单词

原文地址: https://www.cveoy.top/t/topic/n6tb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录