当前位置: 首页 > news >正文

数据结构(3)

实验步骤:
任务:要求使用自定义函数来实现
输入一段文本,统计每个字符出现的次数,按照字符出现次数从多到少,依次输出,格式如下:
字符1-个数
字符2-个数
......
解题思路:
构建结构体,然后将数据依次输入结构体中,随后进行排序输出。
算法代码如下:

#include<stdio.h>
#include<string.h>
struct s{
	char a;
	int b;
};
void addup(char s[100]){
	int h=0;
	int m=0;
	int n[256] = {0};
	struct s a[256];
	struct s b[256];
	for(int i=0;i<strlen(s);i++){
	    m = (int)s[i];
		n[m]++;
	}
    for(int j=0;j<256;j++){
    	if(n[j]!=0){
            a[h].a = (char)j;
            a[h].b = n[j];
            h++;
		}
	}
	for(int i=1;i<h;i++){
		for(int j=0;j<h-i;j++){
			if(a[j].b < a[j+1].b){
			b[j] = a[j];
			a[j] = a[j+1];
			a[j+1] = b[j];
		   }
		}
	}
	printf("一共有%d个字符\n",h);
	for(int i=0;i<h;i++){
		printf("%c-%d \n",a[i].a,a[i].b);
	}
}
int main(){
	char s[100];
	printf("请输入一段文本:\n");
	scanf("%s",s);
	addup(s); 
}

相关文章:

  • 一图掌握 MySQL 核心要点
  • 中国CRM系统推荐:如何选择最适合企业的客户管理工具?
  • 机器学习中 提到的张量是什么?
  • CS5346 - Task Abstraction and Task Taxonomy 任务抽象和分类
  • 聊聊类模板
  • 波束形成(BF)从算法仿真到工程源码实现-第九节-延迟相减波束形成(delay sub)
  • 【Vue】v-if和v-show的区别
  • 鸿蒙开发-注解
  • 实时语音交互数字人VideoChat,可自定义形象与音色,支持音色克隆,首包延迟低至3s
  • WebRTC实时通话EasyRTC嵌入式音视频通信SDK,构建智慧医疗远程会诊高效方案
  • 【C++进阶六】list模拟实现
  • ShareX:多功能截图与录屏工具
  • AD917X系列JESD204B MODE7使用
  • C++23 新特性:auto(x) 和 auto{x} 的衰变复制
  • swift菜鸟教程15-18(枚举,结构体,类,属性)
  • LINUX基础 [四] - Linux工具
  • uniapp自定义tabbar,根据角色动态显示不同tabbar,无闪动问题
  • 微服务架构介绍
  • 搭建springboot框架建立项目流程(后端开发)
  • 60. 评论日记
  • 最高法知识产权法庭:6年来新收涉外案件年均增长23.2%
  • “五一”假期云南铁路预计发送旅客超330万人次
  • 还山记——走进山水、感受山水艺术的魅力
  • 范福生受审:任高密市长、市委书记时滥用职权,致公共财产利益重大损失
  • 董明珠的接班人还是董明珠
  • 联手华为猛攻主流市场,上汽集团总裁:上汽不做生态孤岛