⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 15.c

📁 学习KEIL C51编程可参考的源码
💻 C
字号:
#include <AT89X51.H>
#include <stdio.h>

void taxisfun (int taxis2[])
{
	unsigned char TempCycA,TempCycB,Temp;
	
	for (TempCycA=0; TempCycA<=8; TempCycA++)
		for (TempCycB=0; TempCycB<=8-TempCycA; TempCycB++) 
			{//TempCycB<8-TempCycA比用TempCycB<=8少用很多循环
				if (taxis2[TempCycB+1]>taxis2[TempCycB]) //当后一个数大于前一个数
					{
						Temp = taxis2[TempCycB]; //前后2数交换
						taxis2[TempCycB] = taxis2[TempCycB+1];
						taxis2[TempCycB+1] = Temp; //因函数参数是数组名调用形参的变动影响实参
					}
			}
}

void main(void)
{
	int taxis[] = {113,5,22,12,32,233,1,21,129,3};
	char Text1[] = {"source data:"}; //"源数据"
	char Text2[] = {"sorted data:"}; //"排序后数据"
	unsigned char TempCyc;
	
	SCON = 0x50; //串口方式1,允许接收
	TMOD = 0x20; //定时器1定时方式2
	TCON = 0x40; //设定时器1开始计数
	TH1 = 0xE8;	//11.0592MHz 1200波特率
	TL1 = 0xE8;
	TI = 1;
	TR1 = 1; //启动定时器

	printf("%s\n",Text1); //字符数组的整体引用
	for (TempCyc=0; TempCyc<10; TempCyc++)
		printf("%d ",taxis[TempCyc]);
	printf("\n----------\n");
	taxisfun (taxis); //以实际参数数组名taxis做参数被函数调用
	printf("%s\n",Text2);
	for (TempCyc=0; TempCyc<10; TempCyc++) //调用后taxis会被改变
	printf("%d ",taxis[TempCyc]);
	while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -