【at89s52单片机的冒泡排序使用指针】2022-4-30

缘由at89s52单片机的冒泡排序-编程语言-CSDN问答

#include "REG52.h"
unsigned char code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07
,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9A-F
void smxs(unsigned char mz, unsigned char w)
{
	unsigned char Xd=0;
	P2=255;
	P2=255-smgduan[mz];
	P3=w;
	while(++Xd);
}
void sjh(unsigned char* a, unsigned char* b)
{ unsigned char ab = *a; *a = *b; *b = ab; }
void main()
{
	unsigned char jz=0,zhi=15,wei=0,sy=0,k=0,sj[]={1,4,7,8,5,2,3,6,9,9,6,8,5,7,4,0};
	while(1)
	{
		smxs(sj[7+wei],128);smxs(sj[6+wei],64);
		smxs(sj[5+wei],32);smxs(sj[4+wei],16);
		smxs(sj[3+wei],8);smxs(sj[2+wei],4);
		smxs(sj[1+wei],2);smxs(sj[0+wei],1);
		if(!++sy)
		{
			if(!wei)wei=8;else wei=0;
			if(jz<15)
			{
				if(sj[jz]>sj[zhi]){sjh(&sj[jz],&sj[zhi]);--zhi;}else --zhi;
				if(zhi==jz){zhi=15;++jz;}else;
			}
			else jz=0;
		}
	}
}

缘由使用keil编写程序,并且能在proteus上运行_编程语言-CSDN问答

#include "REG52.h"
#include <stdlib.h> //用于随机数生成函数
unsigned char code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07
,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9A-F
void smxs(unsigned char mz, unsigned char w)
{
	unsigned char Xd=0;
	P2=255;
	P2=255-smgduan[mz];
	P3=w;
	while(++Xd);
}
void sjh(unsigned char* a, unsigned char* b)
{ unsigned char ab = *a; *a = *b; *b = ab; }
void main()
{
	unsigned char jz=0,zhi=15,wei=0,sy=0,k=0,sj[16]{},x=16;
	while(1)
	{
		if(x)
		{
			if(!++sy)if(!++k)
			{
				--x;
				sj[x]=rand()*rand()%10;
			}
		}
		else
		{
		smxs(sj[7+wei],128);smxs(sj[6+wei],64);
		smxs(sj[5+wei],32);smxs(sj[4+wei],16);
		smxs(sj[3+wei],8);smxs(sj[2+wei],4);
		smxs(sj[1+wei],2);smxs(sj[0+wei],1);
		if(!++sy)
		{
			if(!wei)wei=8;else wei=0;
			if(jz<15)
			{
				if(sj[jz]>sj[zhi]){sjh(&sj[jz],&sj[zhi]);--zhi;}else --zhi;
				if(zhi==jz){zhi=15;++jz;}else;
			}
			else jz=0;
		}}
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值