字符型数字怎么排序?

c语言结构体里把数字定义成字符型,几十和一百怎么排序,最好来个简单的例子

字符型排序就不一样了,因为字符型是按ASCII的顺序排序的;最好能转换为数字

char类型的范围是0~255,如果你的数字没有超过这个范围,char类型跟整数排序是一样的。下面是一个冒泡排序的例子:(数字转成相应的ascii码值就可以了。例如数字20的字符类型值应该是0x14,数字32的字符类型值是0x20)

#include <stdio.h>
void sort(char buf[],int n)
{
	int i,j;
	char tmp;
	for (i = 0; i < n -1;i++)
	{
		for (j = 0;j < n-i-1;j++)
		{
			if(buf[j] > buf[j+1])
			{
				tmp = buf[j];
				buf[j] = buf[j+1];
				buf[j+1] = tmp;
			}
		}
	}
}

int main()
{
	char buf[10] = {0x22,0x33,0x12,0x17,0x45,0x79,0x32,0x43,0xa2,0x28};
	char buf2[10] = {'0','1','9','5','2','6','3','4','7','8'};
	sort(buf,10);
	sort(buf2,10);
	return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632