查找字符串中最长的和最短的单词,最长和最短可能不止一个,并统计起格式

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define LEN 20struct Word{char *name;int len;
}tmp;void destroys(struct Word *arr, int j)
{for(int i = j; i < LEN; i++){free(arr[i].name);arr[i].name = NULL;}
}void initWords(struct Word *arr, char *str)
{char *p = strtok(str, " ,.");int i = 0;while(p != NULL){arr[i].name = malloc(strlen(p)+1);strcpy(arr[i].name, p);arr[i].len = strlen(p);p = strtok(NULL, " ,.");//printf("%s\t%d\n", arr[i].name, arr[i].len);i++;}
}void mySort(struct Word *arr)
{for(int i = 0; i < LEN - 1; i++){for (int j = 0; j < LEN - 1 - i; j++){if(arr[j].len > arr[j + 1].len){tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1]= tmp;}}}
}void func(char *str)
{struct Word arr[LEN] = {0};initWords(arr, str);mySort(arr);int count_max = 0;int count_min = 0;int i, j;int len_max = arr[LEN-1].len;int len_min = 0;for(i = LEN - 1; i >= 0; i--){if(arr[i].len == len_max){count_max++;}else{break;}   }for(j = 0; j < LEN; j++){if(arr[j].len != 0){len_min = arr[j].len;break;}}for(int k = j; k < LEN; k++){if(arr[k].len == len_min){count_min++;}else{break;}}printf("最短的单词共%d个,长度为%d, 分别是:%s", count_min, len_min, arr[j].name);for(int k = 1; k < count_min; k++){printf(", %s", arr[j+k].name);}printf("\n最长的单词共%d个,长度为%d, 分别是:%s", count_max, len_max, arr[LEN-count_max]);for(int k = LEN-count_max+1; k < LEN; k++){printf(", %s", arr[k].name);}printf("\n");destroys(arr, j);
}int main()
{char str[100] = "Mike Shinoda, Rob Bourdon, and brad Delson ";func(str);return 0;
}

c/c++查找字符串中最长的和最短的单词,最长和最短可能不止一个,并统计起格式相关推荐

  1. python查找指定字符所在行号_python查找字符串中某个字符

    本文收集整理关于python查找字符串中某个字符的相关议题,使用内容导航快速到达. 内容导航: Q1:Python里统计一个字符串中另一个字符串的个数 答案为3(用正则):1234>>&g ...

  2. kotlin中判断字符串_Kotlin程序查找字符串中字符的频率

    kotlin中判断字符串 Given a string and a character, we have to find the frequency of the character in the s ...

  3. 查找字符串中要查找的字符串最后一次出现的位置

    C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include <stdio.h> #i ...

  4. java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现

    使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现. 假设以下是我们的字符串.String myStr = "Amit Diwan"; 在上面的字符串中 ...

  5. Python一题三解:查找字符串中每个字符的首次出现

    题目要求: 查找字符串中每个字符的首次出现.给定一个任意字符串,要求得到一个新字符串,重复字符只保留一个,并且新字符串中的字符保持在原字符串中首次出现的先后顺序.例如,abcdaaabe处理后应得到a ...

  6. python re 查找字符串中是否含有汉字

    如何使用python中的re来查找字符串中是否含有汉字 import re pat = "[\u4e00-\u9fa5]+" s = ... if re.search(pat, s ...

  7. 查找字符串中某个字符出现的次数

    查找字符串中某个字符出现的次数 算法逻辑: 核心算法:先查找第一个字符出现的位置 然后只要indexOf返回的结果不是 -1 就继续往后查找 因为indexOf只能查找到第一个,所以后面的查找,一定是 ...

  8. python字符串查找重复项,Python程序查找字符串中所有重复的字符

    在本教程中,我们将学习如何在字符串中查找所有重复值.我们可以在Python中以不同的方式进行操作.让我们一一探讨. 我们要编写的程序的目的是查找字符串中存在的重复字符.例如,我们有一个字符串tutor ...

  9. python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母

    题目: 输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1) 输入要求: 第一行输入大小写组成的字符串 第二行输入k, k必须 ...

最新文章

  1. spring-mvc注解
  2. requests payload_python+Requests接口自动化测试之传递 URL 参数
  3. 建立FPGA深度学习加速生态圈,为人工智能赋能
  4. 今天起,踏踏实实做技术
  5. 工作97:父子组件传值
  6. Windows API GetProcAddress 及demo code
  7. 无名管道pipe使用方法
  8. php生成链接列表,根据URL链接和抛文本生成链接a标签的PHP函数
  9. Python 命令行传参
  10. 程序员入职后千万不要沾沾自喜,不注意这一点,将来很可能后悔!
  11. 用好这个新功能,报表数据安全瞬间提升一个等级!
  12. python random库下载_Python---random库(随机数)
  13. [原创]CAN总线数据计算器V1.01
  14. oracle表修改语句怎么写,Oracle修改表结构语句
  15. gnfc——游戏增强现实语音通话系统
  16. 老李分享:六度分隔理论 1
  17. TaoFramework
  18. 2011020敏捷培训
  19. 高中计算机竞赛官网,美国高中计算机竞赛系列:PClassic
  20. 局域网通信 | 基于广播实现简易聊天室

热门文章

  1. BCS2022|技术升级、理念更新、全球合作——国际网安巨头共论未来网络安全之道...
  2. c语言的魅力,c语言的魅力
  3. 蛛网模型收敛条件_按照蛛网模型,若供给曲线和需求曲线均为直线,则收敛型摆动的条件(...
  4. I.MX6U-裸机-按键消抖实验(10)
  5. GAN系列(三) —— CycleGAN无配对图像翻译
  6. 翻页 java_jsp实现上一页下一页翻页功能
  7. estore java_estore2 - WEB源码|JSP源码/Java|源代码 - 源码中国
  8. 游戏建模学习经验分享:培训机构教你的是学习套路,美术水平决定你的建模高度
  9. uniapp项目添加阿里图标库字体图标(图标在手机、浏览器均可查看)
  10. Linux菜鸟必学的60个命令