个人的一些小创作(随便玩玩,由于技术限制,无使用价值)

news2025/6/30 3:06:30

tips

1. 桶排序算法的话,必须会去重,因为它的核心就是把数值与数组的下标对应起来,那如果你有多个相同的数值,那也只能对应同一个数组的下标。然后桶排序算法最后打印的是数组的下标,而不是数组下标对应元素的值。

2. 也正是因为桶排序的核心在于把数字与数组的下标对应,因此找到要排列的那堆数据的最大值十分有必要,这样子创建数组的时候,就可以知道长度应该定为多少了。或者说知道要排序的数据小于等于多少也可以。
3. 再次强调强调一下,桶排序打印的时候打印的是数组的下标,是下标

4. !=的优先级是要高于=的。
5. a=一个为真的表达式,那么a的值就为1,a=一个为假的表达式,那么a的值就为0。

6. \0与\n我老是经常要搞混,\0是C语言中的字符串结束符,在ACSII字符集中对应空字符NULL,数值为0。而\n是转义字符,是换行符,其对应的ASCII值为10,按下enter键,相当于往输入缓冲区里面放一个\n。 

一个简易的去重排序器

代码

#include <stdio.h>
int main()
{
	printf("*****去重排序器*****\n");
	printf("请输入要排序数字的个数:");
	int n = 0;
	scanf("%d", &n);
	//
	int arr[1001] = { 0 };
	int max = 0;
	int tmp = 0;
	//
	printf("请输入%d个你要排序的数字(≤1000):",n);
	int i = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d", &tmp);
		arr[tmp] = 1;
		if (tmp > max)
		{
			max = tmp;
		}
	}
	//
	int num = 0;
	printf("请选择升序(1)还是降序(2):");
Elon:
	scanf("%d",&num);
	//
	printf("去重排序结果为:");
	if (num == 1)
	{
		for (i = 0; i <= max; i++)
		{
			if (arr[i] == 1)
			{
				printf("%d ", i);
			}
		}
	}
	else if (num == 2)
	{
		for (i = max; i >=0; i--)
		{
			if (arr[i] == 1)
			{
				printf("%d ", i);
			}
		}
	}
	else
	{
		printf("输入有误,重新输入!\n");
		goto Elon;
	}
	return 0;
}

运行结果

  

一个简易的字符个数计算器

代码

#include <stdio.h>
int main()
{
	printf("Enter the character:");
	char str;
	scanf("%c", &str);
	getchar();
	//
	int count = 0;
	int ch = 0;
	printf("Enter the string:");
	while ((ch = getchar()) != EOF)
	{
		if (str == ch)
		{
			count++;
		}
	}
	printf("The number of %c is %d\n", str, count);
}

 运行结果

 一个简单而简陋的矩阵初等变换器

#include <stdio.h>
int is_RSSM(double arr[10][10], int row, int col)
{
	int i = 0;
	int j = 0;
	int num = 0;
	for (i = 0; i < row; i++)
	{
		int count = 0;
		for (j = 0; j < col; j++)
		{
			if (arr[i][j] == 0)
			{
				count++;
			}
			else if (arr[i][j] == 1)
			{
				int k = 0;
				for (k = 0; k < row; k++)
				{
					if ((arr[k][j] != 0) && (k != i))
					{
						return 0;
					}
				}
				break;
			}
			else
			{
				return 0;
			}
		}
		if (i == 0)
		{
			num = count;
		}
		else
		{
			if (count <= num)
			{
				return 0;
			}
			num = count;
		}
	}
	return 1;
}
int is_ESFM(double arr[10][10], int row, int col)
{
	int i = 0;
	int j = 0;
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < col; j++)
		{
			if (arr[i][j] != 0)
			{
				if ((arr[i][j] != 1) || (i != j))
				{
					return 0;
				}
			}
		}
	}
	return 1;
}
void print(double arr[10][10], int row, int col)
{
	int i = 0;
	int j = 0;
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < col; j++)
		{
			printf("%5.1lf ", arr[i][j]);
		}
		printf("\n");
	}
}
int main()
{
	printf("*****矩阵初等变换(化为行最简阶梯型矩阵)*****\n");
	printf("输入矩阵的行数与列数:");
	int row = 0;
	int col = 0;
	scanf("%d %d", &row, &col);
	//
	double arr[10][10] = { 0 };
	//
	printf("依次输入矩阵的每个数:\n");
	int i = 0;
	int j = 0;
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < col; j++)
		{
			scanf("%lf", &arr[i][j]);
		}
	}
	//
	printf("有三种矩阵的初等变换可供执行:\n");
	printf("1 (交换行列).输入:  r/c x y         交换x与y两行.\n");
	printf("2 (倍数加减).输入:  r/c z +?- x y   把第z行加上x行的y倍.\n");
	printf("3 (行列乘除).输入:  r/c x *?/ y     把第x行乘以y. \n");
	//
	int num = 0;
	while (1)
	{
		int flag = 0;
		printf("Enter the number:");
		scanf("%d", &num);
		getchar();
		printf("Input the command:");
		char a1;
		int x = 0;
		if (num == 1)
		{
			int y = 0;
			scanf("%c %d %d", &a1, &x, &y);
			//
			if (a1 == 'r')
			{
				for (j = 0; j < col; j++)
				{
					int tmp = arr[x - 1][j];
					arr[x - 1][j] = arr[y - 1][j];
					arr[y - 1][j] = tmp;
				}
			}
			else if (a1 == 'c')
			{
				for (i = 0; i < row; i++)
				{
					int tmp = arr[i][x - 1];
					arr[i][x - 1] = arr[i][y - 1];
					arr[i][y - 1] = tmp;
				}
			}
		}
		else if (num == 2)
		{
			double y = 0;
			int z = 0;
			char key;
			scanf("%c %d %c %d %lf", &a1, &z, &key, &x, &y);
			if (a1 == 'r')
			{
				if (key == '+')
				{
					for (j = 0; j < col; j++)
					{
						arr[z - 1][j] += (arr[x - 1][j] * y);
					}
				}
				else if (key == '-')
				{
					for (j = 0; j < col; j++)
					{
						arr[z - 1][j] -= (arr[x - 1][j] * y);
					}
				}
			}
			else if (a1 == 'c')
			{
				if (key == '+')
				{
					for (i = 0; i < row; i++)
					{
						arr[i][z - 1] += (arr[i][x - 1] * y);
					}
				}
				else if (key == '-')
				{
					for (i = 0; i < row; i++)
					{
						arr[i][z - 1] -= (arr[i][x - 1] * y);
					}
				}
			}
		}
		else if (num == 3)
		{
			double y = 0;
			char key;
			scanf("%c %d %c %lf", &a1, &x, &key, &y);
			if (a1 == 'r')
			{
				if (key == '*')
				{
					for (j = 0; j < col; j++)
					{
						arr[x - 1][j] *= y;
					}
				}
				else
				{
					for (j = 0; j < col; j++)
					{
						arr[x - 1][j] /= y;
					}
				}
			}
			else if (a1 == 'c')
			{
				if (key == '/')
				{
					for (i = 0; i < row; i++)
					{
						arr[i][x - 1] *= y;
					}
				}
				else
				{
					for (i = 0; i < row; i++)
					{
						arr[i][x - 1] /= y;
					}
				}
			}
		}
		else
		{
			printf("输入错误!\n");
		}
		print(arr, row, col);
		if (flag == 0)
		{
			if (is_RSSM(arr, row, col))
			{
				printf("当前矩阵为行最简阶梯型矩阵\n");
				flag++;
			}
		}
		else
		{
			if (is_ESFM(arr, row, col))
			{
				printf("当前矩阵已经是等价标准型矩阵\n");
				break;
			}
		}
	}
	return 0;
}

 注:基本上没有任何使用价值,仅作纪念之用,读者见谅!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wps合并多个pdf,四个步骤轻松解决

wps这个软件相信大家都或多或少使用过。很多人日常触及到wps的功能&#xff0c;一般是word、Excel或者PPT这三种。其实wps也可以用来读取、编辑PDF文档。wps编辑PDF文档需要一定的技巧&#xff0c;比如使用wps合并多个pdf的方法&#xff0c;很多网友都在问。这里给大家做一个详…

10、SpringCloud 系列:Nacos - 注册中心

SpringCloud 系列列表&#xff1a; 文章名文章地址01、Eureka - 集群、服务发现https://blog.csdn.net/qq_46023503/article/details/12831902302、Ribbon - 负载均衡https://blog.csdn.net/qq_46023503/article/details/12833228803、OpenFeign - 远程调用https://blog.csdn.…

41. 使用块的网络(VGG)代码实现

1. VGG块 在下面的代码中&#xff0c;我们定义了一个名为vgg_block的函数来实现一个VGG块。 该函数有三个参数&#xff0c;分别对应于卷积层的数量num_convs、输入通道的数量in_channels 和输出通道的数量out_channels. import torch from torch import nn from d2l import …

【玩转c++】c++ :string类讲解(万字详解)

目录 &#x1f341;1. 为什么要学习string类 &#x1f341;2. 标准库中的string类 &#x1f341;3. string类各种接口 默认成员函数 Iterators迭代器 capacity容量 Element access:元素访问 Modifiers:修改 字符串操作 成员变量 非成员函数 &#x1f341;4. 扩展阅读 本期主题…

stm32f407VET6 系统学习 day07 通用定时器, OLED 屏幕使用 PWM 的使用

1. 通用定时器的知识 1.STM32共有14个定时器&#xff0c;其中12个16位定时器&#xff0c;2个32 位定时器 2. 通用定时器特点 1. 16/32位向上、向下、向上/向下(中心对齐)计数模式&#xff0c;自动装载计数器&#xff08;TIMXCNT) 。 2. 16位可编程预分频器(TIMx_PSC)&…

-bash: lsof: command not found解决办法

简言 centos系统&#xff0c;检测端口时使用lsof命令发现lsof功能未开启&#xff0c;如下图 [rootiZwz9501p9hnysn92hpx27Z tnt_game]# lsof -bash: lsof: command not found 安装lsof centos系统下可以直接使用yum安装lsof功能&#xff0c;如下图 yum可自动完成安装lsof ls…

gitlab-ci.yml关键字(一)image、variables、include

image 这是一个全局关键字&#xff0c;如果流水线的执行器是使用docker来运行的话&#xff0c;那可以指定docker中的docker镜像。如果执行器是shell的话&#xff0c;那该关键字是无用的&#xff0c;即便机器中已近安装了docker的环境&#xff0c;该关键字可以在全局或者某一个…

NeurIPS2021 | ViTAE+: vision transformer中的归纳偏置探索

参考资料&#xff1a;NeurIPS 2021 | ViTAE: vision transformer中的归纳偏置探索 - 知乎 paper地址&#xff1a;https://openreview.net/pdf?id_RnHyIeu5Y5 论文标题&#xff1a;ViTAE: Vision Transformer Advanced by Exploring Intrinsic Inductive Bias code&#xff…

假设检验之卡方检验

之前我对卡方检验的了解都是一知半解的&#xff0c;即知道作用是对离散变量分布差异的比较&#xff0c;根据期望频数和观察频数的差异计算出来一个卡方值&#xff0c;之后根据自由度和显著性水平查卡方分布对应的临界值&#xff0c;比较大小得出有无明显差异的结论。 一般我们都…

基于FPGA平台实现 ARM Cortex-M0 SOC(一)简介

本系列笔记为基于FPGA平台实现 ARM Cortex-M0 SOC 集创赛作品复盘 Platform&#xff1a; ARM Cortex-M0 Design Srart AT510 XLINX FPGA ARM MDK 5 CM0-Design start 是ARM公司放出的一个免费的ARM 内核学习版本&#xff0c;它比M3还要简单&#xff0c;并且官方把整块代码模糊化…

TFN CK1840B 喇叭天线 定向 18GHz~40GHz

TFN CK1840B 喇叭天线 定向 18GHz~40GHz 产品概述 TFN CK1840B喇叭天线工作频率为 18GHz~40GHz。具有频带宽&#xff0c; 性能可靠&#xff0c; 增益高等优 点&#xff0c; 是理想的 EMC 测试、电子对抗等领域的定向接收、发射天线。 应用领域 ● 电子对抗领域 ● EMC 测试…

基于python多光谱遥感数据处理、图像分类、定量评估及机器学习方法应用

普通数码相机记录了红、绿、蓝三种波长的光&#xff0c;多光谱成像技术除了记录这三种波长光之外&#xff0c;还可以记录其他波长&#xff08;例如&#xff1a;近红外、热红外等&#xff09;光的信息。与昂贵、不易获取的高光谱、高空间分辨率卫星数据相比&#xff0c;中等分辨…

Gateway

Gateway—SpringCloud微服务网关组件 一、Spring Cloud Gateway简介 1.为什么要用Gateway&#xff1f; 在微服务架构中&#xff0c;通常一个系统会被拆分为多个微服务&#xff0c;微服务之间的调用可以用OpenFeign&#xff0c;但面对这么多微服务客户端调用会遇到哪些问题呢…

Hudi(3):Hudi之基本概念

目录 0. 相关文章链接 1. 时间轴&#xff08;TimeLine&#xff09; 1.1. Instant action&#xff1a;在表上执行的操作类型 1.2. Instant time 1.3. State 1.4. 两个时间概念 2. 文件布局&#xff08;File Layout&#xff09; 2.1. Hudi表的文件结构 2.2. Hudi存储的两…

Cocos 引擎生态部负责人李阳:己之所欲,可施于人,希望通过生态促进国内引擎技术发展

前言 “小小的身体&#xff0c;大大的能量&#xff0c;这个应该是我对大表姐最直接的感觉&#xff0c;在她娇小的身躯里蕴含了无限的精力和潜力&#xff0c;很像漫威里的神奇女侠&#xff0c;作为一个具备冒险精神的非典型程序员&#xff0c;大表姐热爱的体育活动都是很具挑战…

大数据系列——什么是ClickHouse?ClickHouse有什么用途?

目录 一、什么是ClickHouse 二、ClickHouse有什么用途 三、ClickHouse的不足 四、适用场景 五、ClickHouse特点 六、ClickHouse VS MySQL 七、类SQL 语句 八、核心概念 一、什么是ClickHouse clickHouse是俄罗斯的 Yandex 公司于 2016 年开源的列式存储数据库&#x…

win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)

写在前面&#xff1a;很多人在拿到新电脑激活那会&#xff0c;命名就是简单的中文&#xff0c;但是中文命名电脑系统名称&#xff0c;会导致系统用户文件夹自动命名为中文&#xff0c;在后期使用中会导致c盘系统用户文件夹下面出现不知名繁体字文件夹&#xff0c;甚至有的朋友会…

终难逃一阳

阳了&#xff0c;抗原试剂显示我阳了。每天都带口罩的我还是未能逃过此劫。真是覆巢之下&#xff0c;焉有完卵。 ​ 1.背景 12月初国家逐步放开防疫&#xff0c;随之而来的就是奥秘克戎肆虐全国。身边同事和朋友一个接着一个倒下&#xff0c;朋友圈里更是哀嚎一片。好在专家…

《CSAPP》笔记——链接、异常控制流、虚拟内存

文章目录传送门链接基础链接器的意义编译器驱动程序静态链接ELF目标文件格式可重定位目标文件符号和符号表链接过程符号解析解析规则静态链接库带有静态链接库的解析过程重定位重定位条目重定位节重定位符号引用重定位相对引用重定位绝对引用加载可执行目标文件动态链接共享库库…

Kafka 消费者组开发

Kafka consumer - 消费者组 上一篇文章学习到kafka消费者、消费者组之间处理消息的差异&#xff0c;总结起来就是&#xff1a; 同一个消费组的不同消费实例 共同消费topiic的消息, 一个消息只会消费一次&#xff1b; 也叫做集群消费同一个消息被不同的消费组同时消费&#xf…