qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

请编写一个C++程序,统计给定长字符串中长度大于等于指定值的单词出现次数,并输出频率最高的单词(若有多个,选长度较小或字典序较小的)

时间2023-08-29 19:56:41 提问来自 河北省沧州市 的网友 分类创作 浏览497
以下是一个用C语言编写的程序,用于统计给定字符串中长度大于等于2的单词出现的次数,并输出出现频率最高的单词。 ```c #include <stdio.h> #include <string.h> #include <ctype.h> #define MAX_LEN 1000 #define MAX_WORD_LEN 100 void toLowercase(char *str) { for (int i = 0; str[i]; i++) { str[i] = tolower(str[i]); } } int isWordChar(char c) { return isalpha(c) || c == '\''; } int main() { char str[MAX_LEN]; printf("请输入一个英文单词串:"); fgets(str, sizeof(str), stdin); // 统计单词出现次数 int count[MAX_LEN] = {0}; char word[MAX_WORD_LEN]; int maxCount = 0; char *token = strtok(str, " "); while (token != NULL) { toLowercase(token); if (strlen(token) >= 2) { count[strlen(token)]++; if (count[strlen(token)] > maxCount) { maxCount = count[strlen(token)]; strcpy(word, token); } else if (count[strlen(token)] == maxCount) { if (strlen(token) < strlen(word) || (strlen(token) == strlen(word) && strcmp(token, word) < 0)) { strcpy(word, token); } } } token = strtok(NULL, " "); } // 输出结果 printf("长度大于等于2的单词出现次数:%d ", maxCount); printf("出现频率最高的单词:%s ", word); return 0; } ``` 请将以上代码保存为一个以`.c`为后缀的文件,然后使用C编译器进行编译和运行。程序会要求您输入一个英文单词串,然后输出长度大于等于2的单词出现的次数以及出现频率最高的单词。

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 统计长单词出现频次并找出频率最高或特定规则的单词 下一篇 坐在火车上能写一首七言绝句吗