嵌入式学习代码总结(一)

时间范围:2022年10月19日-2022年10月28日

2022年10月19日

#include

int main()
{
	printf("hello world\n");
	return 0;
}
/*
    功能:在linux的终端中打印hello world
*/

2022年10月21日

#include
#define hong(a,b)(a)*(b)
int main()
{
	int a=1,b=2,k=3;
	int sum=hong(a+b,b)*k;
	printf("sum=%ld\n",sum);
	return 0;
}
#include
#define second(x,y,z,k) ((x)*(y)*(z)*(k))
int main()
{
	int x=365,y=24,z=60,k=60;
	int sum=second(x,y,z,k);
	printf("一年一共有%d秒\n",sum);
	return 0;
}
/*
    功能:在linux的终端上打印一年有多少秒
*/
#include
int main()
{
	signed char a=243;
	printf("%d",a);
	return 0;
}
/*
    功能:体验回环法
*/
#include
#define PI 3.1415
int main()
{
	float r=2;
	float s=PI*r*r;
	float c=2*PI*r;
	printf("s=%f,c=%f\n",s,c);
	return 0;
}
/*
    功能:计算圆形的面积
*/
#include
int main()
{
	printf("sizeof(int)=%ld\n",sizeof(int));	
	printf("sizeof(short)=%ld\n",sizeof(short));
	printf("sizeof(char)=%ld\n",sizeof(char));
	printf("sizeof(float)=%ld\n",sizeof(float));
	printf("sizeof(double)=%ld\n",sizeof(double));
	printf("sizeof(long)=%ld\n",sizeof(long));
	printf("sizeof(long long)=%ld\n",sizeof(long long));
	return 0;
}
/*    
    功能:计算不同数据类型所占存储空间的大小
*/

2022年10月24日

#include
int main()
{
	char ch=130;
	printf("%d\n",ch);
	return 0;
}
/*    
    功能:体验回环法
*/
#include
int main()
{
	unsigned char ch=260;
	printf("%d\n",ch);
	return 0;
}
/*
    功能:体验回环法
*/
int a=10;
//	static int a=10;
#include
extern int a;
int main()
{
	printf("a=%d\n",a);
	return 0;
}
#include
int a=10;
int main()
{
	int i;
	for(i=0;i<5;i++)
	{
		//static int a=0;
		//static int a=0;
		//a++;
		//printf("a=%d\n",a);
	}
	printf("a=%d\n",a);
	return 0;
}
#include
int a=10;
int main()
{
	int i;
	for(i=0;i<5;i++)
	{
		//static int a=0;
		int a=0;
		a++;
		printf("a=%d\n",a);
	}
	//printf("a=%d\n",a);
	return 0;
}
#include
static int a=10;
int main()
{
	int i;
	for(i=0;i<5;i++)
	{
		//static int a=0;
		static int a=0;
		a++;
		printf("a=%d\n",a);
	}
	//printf("a=%d\n",a);
	return 0;
}
#include
int a=10;
int main()
{
	int i;
	for(i=0;i<5;i++)
	{
		//static int a=0;
		int a=0;
		a++;
		printf("a=%d\n",a);
	}
	//printf("a=%d\n",a);
	return 0;
}
/*
    功能:体验static和extern的用法
*/
#include
int main()
{
	int a=1,b=2,c=3;
	//a++;
	//printf("a=%d ",a);
	printf("a++=%d ",a++);
	//printf("b=%d ",b);
	//++b;
	printf("++b=%d ",++b);
	//printf("c=%d ",c);
	//printf("a=%d,b=%d,c=%d",a,b,c);
	return 0;
}
#include
int main()
{
	int a=1,b=2,c=3;
	//b=++c;
	printf("b=%d,++c=%d ",b,++c);
	//a=c++;
	printf("a=%d,c++=%d ",a,c++);
	//b++;
	printf("b++=%d ",b++);
	//a=++b;
	printf("a=%d,++b=%d ",a,++b);
	return 0;
}
/*    
    功能:体验自增自减运算符的用法
*/
#include
int main()
{
	int a=10;
	float b;
	b=(float)a;
	printf("b=%f\n",b);
	return 0;
}
#include
int main()
{
	char a=2;
	printf("a=%f\n",a);
	return 0;
}
#include
int main()
{
	float a=2;
	printf("a=%d\n",a);
	return 0;
}
#include
int main()
{
	short a=2;
	printf("a=%f\n",a);
	return 0;
}
#include
int main()
{
	float a=3;
	int b=2;
	double e=5;
	int f=3;
	printf("c=%d\n",a+b);
	printf("d=%lf\n",a+b);
	printf("e=%lf\n",e);
	printf("g=%lf",b+f);
	return 0;
}
/*
    功能:体验类型转换
*/
#include
volatile int b;
int main()
{
	volatile int a=10;
	printf("%d\n",b);
	printf("%d\n",a);
	return 0;
}

#include
main()
{
	int k=11;
	printf("k=%d,k=%o,k=%x",k,k,k);
}
#include
main()
{
	int a=5;
	printf("%d\n",a++);
}
#include
main()
{
	int x=10;
	printf("%d\n",x+=x-=x-x);
}

#include
main()
{
	double x,y;
	x=1;
	printf("%lf\n",y=x+3/2);
}

2022年10月25日

#include
int main()
{
	int a=2,b=2,c=0,d=0;
	c=a>1&&b++;
	d=a>1||b++;
	printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
	return 0;
}
/*
    功能:体验逻辑与和逻辑或运算符的用法
*/

2022年10月26日

#include
/*
 *	九九乘法表
 *	作者:徐子宸
 *	班级:22101
 */
int main()
{
	int i,j;
	for(i=1;i<=9;i++)	//	外循环控制行
	{
		for(j=1;j<=i;j++)	//	内循环控制内容
		{
			printf("%d*%d=%d ",j,i,j*i);
		}
		printf("\n");
	}
	return 0;
}
/*
 *	我的分析过程
 *
 *	for(j=1;j<=i;j++)
 *	i={1,2,3,4,5,6,7,8,9}
 *
 *	j=1
 *	i=1
 *	j*i=1
 *
 *	j=1
 *	i=2
 *	j*i=2
 *	j=2
 *	i=2
 *	j*i=4
 *	
 *	j=1
 *	i=3
 *	j*i=3
 *	j=2
 *	i=3
 *	j*i=6
 *	j=3
 *	i=3
 *	j*i=9
 *
 *	j=1
 *	i=4
 *	j*i=4
 *	j=2
 *	i=4
 *	j*i=8
 *	j=3
 *	i=4
 *	j*i=12
 *	j=4
 *	i=4
 *	j*i=16
 *
 *	j=1
 *	i=5
 *	j*i=5
 *	j=2
 *	i=5
 *	j*i=10
 *	j=3
 *	i=5
 *	j*i=15
 *	j=4
 *	i=5
 *	j*i=20
 *	j=5
 *	i=5
 *	j*i=25
 *
 *	j=1
 *	i=6
 *	j*i=6
 *	j=2
 *	i=6
 *	j*i=12
 *	j=3
 *	i=6
 *	j*i=18
 *	j=4
 *	i=6
 *	j*i=24
 *	j=5
 *	i=6
 *	j*i=30
 *	j=6
 *	i=6
 *	j*i=36
 *	
 *	j=1
 *	i=7
 *	j*i=7
 *	j=2
 *	i=7
 *	j*i=14
 *	j=3
 *	i=7
 *	j*i=21
 *	j=4
 *	i=7
 *	j*i=28
 *	j=5
 *	i=7
 *	j*i=35
 *	j=6
 *	i=7
 *	j*i=42
 *	j=7
 *	i=7
 *	j*i=49
 *		
 *	j=1
 *	i=8
 *	j*i=8
 *	j=2
 *	i=8
 *	j*i=16
 *	j=3
 *	i=8
 *	j*i=24
 *	j=4
 *	i=8
 *	j*i=32
 *	j=5
 *	i=8
 *	j*i=40
 *	j=6
 *	i=8
 *	j*i=48
 *	j=7
 *	i=8
 *	j*i=56
 *	j=8
 *	i=8
 *	j*i=64
 *
 *	j=1
 *	i=9
 *	j*i=9
 *	j=2
 *	i=9
 *	j*i=18
 *	j=3
 *	i=9
 *	j*i=27
 *	j=4
 *	i=9
 *	j*i=36
 *	j=5
 *	i=9
 *	j*i=45
 *	j=6
 *	i=9
 *	j*i=54
 *	j=7
 *	i=9
 *	j*i=63
 *	j=8
 *	i=9
 *	j*i=72
 *	j=9
 *	i=9
 *	j*i=81
 *
 *	分析完毕
 *
 */
#include
int main()
{
	int year=0,month=0,day=0,i=0;
	int sum=0;
	printf("请输入年月日:");
	scanf("%d%d%d",&year,&month,&day);
	for(i=1;i<=month;i++)
	{
		switch(i)
		{
			case 1:day+=0;break;
			case 2:day+=31;break;
			case 3:
			if(year%4==0&&year%100!=0||year%400==0)
			{
				day+=29;
			}
			else
			{
				day+=28;
			}
			break;
			case 4:day+=31;break;
			case 5:day+=30;break;
			case 6:day+=31;break;
			case 7:day+=30;break;
			case 8:day+=31;break;
			case 9:day+=31;break;
			case 10:day+=30;break;
			case 11:
			   day+=31;break;
			case 12:day+=30;break;
			default:("ERROR");
			}
	}
	sum+=day;
	printf("该日有%d天",sum);
	return 0;
}
/*
 *	某年的某一天是这一年的第多少天
 *	作者:徐子宸
 *	班级:22101
 */
#include
int main()
{
	int year,month,day;
	printf("请输入年月日:");
	scanf("%d%d%d",&year,&month,&day);
	//int sum;
	switch(month)
	{
			  //break;
		case 12:day+=30;
		case 11:day+=31;
		case 10:day+=30;
		case 9:day+=31;
		case 8:day+=31;
		case 7:day+=30;
		case 6:day+=31;
		case 5:day+=30;
		case 4:day+=31;
		case 3:	if(year%4==0&&year%100!=0||year%400==0)
				{
					day+=29;
				}
				else
				{
					day+=28;
				}
			   //break;
		case 2:
			   day+=31;
		case 1:break;
		default:("ERROR");
				//break;
	}
	printf("这天是这一年的第%d天",day);
	return 0;
}
/*
 * 	思路分析
 *
 *	1,3,5,7,8,10,12月有31天
 *	4,6,9,11月有30天
 *	平年2月有29天,闰年2月有28天
 *	表示年份的数字能被4整除,还能被400整除,但不能被100整除的年是平年
 *	其余为ie闰年
 *
 *	分析完毕
 */

2022年10月27日

#include
int main()
{
	int n=5;
	int arr[n]={0};
	n=8;
	int b[5];
	b={1,2,3,4,5};
	int c[5];
	c[1]={1,2,3,4,5};
}
#include
int main()
{
	char str[30]={0};
	char atr[30]={0};
	scanf("%s",str);
	gets(atr);
	puts(str);
	puts(atr);
	return 0;
}
/*
 *	gets输入之前,先会查看缓冲区中
 *	是否有内容,有的话直接拿过来使
 *	用
 *
 * 	scanf是标准输入函数,每次直接
 * 	从键盘中获取
 *
 */
#include
int main()
{
	char str[5]="hello";
	puts(str);
	return 0;
}
#include
int main()
{
	char str[30]={0};
	char atr[30]={0};
	gets(str);
	gets(atr);
	puts(str);
	puts(atr);
	return 0;
}
#include
int main()
{
	char str[30]={0};
	char atr[30]={0};
	scanf("%s",str);
	scanf("%s",atr);
	puts(str);
	puts(atr);
	return 0;
}
#include
int main()
{
	char str[30]={0};
	char atr[30]={0};
	gets(str);
	scanf("%s",atr);
	puts(str);
	puts(atr);
	return 0;
}
/*
    功能:体验gets和scanf的区别
*/
#include
int main()
{
	int arr[5];
	for(int i=0;i<5;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(int j=0;j<5;j++)
	{
		printf("%d\n",arr[j]);
	}
	return 0;
}
/*
    功能:体验对数组的输入和输出
*/
/*
 *	功能:利用冒泡排序,求一组数据中的最大值和次大值
 *	作者:徐子宸
 *	班级:22101班
 */
#include
int main()
{
	int a[5]={0};
	int i,j;
	int max1,max2;
	printf("请输入数据\n");
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<5;i++)
	{
		for(j=0;j<5-i;j++)
		{
			if(a[j+1]
int main()
{
	int a[5]={0};
	int i;
	int max1,max2;
	int s=sizeof(a)/sizeof(int);
	printf("请输入数据:\n");
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
	}
	digui(a,0,s-1);
	printf("快速排序后的数据打印如下:\n");
	for(i=0;i<5;i++)
	{
		printf("%d\n",a[i]);
	}
	printf("最大值为%d,次大值为%d\n",a[4],a[3]);
	return 0;
}
int quicksort(int a[],int i,int j)
{
	int k=a[i];	//	临时保存基准元素
	while(i=k)	//	若待查找的元素比基准元素大,则查找元素的指针向前移动
		{
			j--;
		}
		if(i
int main()
{
	int arr[5]={0};
	int max=arr[0];
	int sec;
	int i;
	printf("请输入数据\n");
	for(i=0;i<5;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(i=0;i<(sizeof(arr)/sizeof(arr[0]));i++)
	{
		if(max==arr[i])
		{
			continue;
		}
		else if(max
#include
int main()
{
	int a[5]={0};
	int i,j;
	printf("请输入待排序的数\n");
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<5;i++)
	{
		for(j=0;j<5-i;j++)
		{
			if(a[j]>a[j+1])
			{
				int tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
	printf("已完成排序\n");
	for(i=0;i<5;i++)
	{
		printf("%d\n",a[i]);
	}
	return 0;
}
#include
int main()
{
	int arr[5];
	printf("%ld %ld",sizeof(int[5]),sizeof(arr));
	int brr[6];
	printf("%ld %ld",sizeof(int[6]),sizeof(brr));
	return 0;
}

2022年10月28日

/*
 *	作者:徐子宸
 *	班级:22101
 *	功能:实现杨辉三角
 *	来源:根据朱鸿飞老师的讲解自己改写
 *	日期:20221028
 *
 */
#include
int main()
{
	int a[8][8]={0};
	for(int i=0;i<8;i++)
	{
		for(int j=0;j<=i;j++)
		{
			if(j==0)
			{
				a[i][j]=1;
			}
			else if(i==j)
			{
				a[i][j]=1;
			}
			else
			{
				a[i][j]=a[i-1][j-1]+a[i-1][j];
			}
		}
	}
	for(int i=0;i<8;i++)
	{
		for(int j=0;j<=i;j++)
		{
			printf("%d  ",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}
#include
int main()
{
	int a[2][3]={0};
	for(int i=0;i<2;i++)
	{
		for(int j=0;j<3;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}	
	for(int i=0;i<2;i++)
	{
		for(int j=0;j<3;j++)
		{
			printf("%d\n",a[i][j]);
		}
	}
	return 0;

}
/*    
    功能:实现二维数组的输入和输出
*/
 
#include
int main()
{
	int a[5]={0};
	int i,j;
	printf("请输入待排序的数\n");
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<5;i++)
	{
		for(j=0;j<5-i;j++)
		{
			if(a[j]>a[j+1])
			{
				int tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
	printf("已完成排序\n");
	for(i=0;i<5;i++)
	{
		printf("%d\n",a[i]);
	}
	return 0;
}
/*
    功能:实现冒泡排序
*/
#include
/*
 * 作者:徐子宸
 * 来源:自己
 * 功能:实现字符串的连接
 * 有问题
 *
 */
int main()
{
	char str[100]={"xuzichen"};
	char atr[100]={"china"};
	int i,j;
	if(str[i]!='\0'&&atr[j]!='\0')
	{
		while(str[i]!='\0')
		{
			atr[j]=str[i]++;
			i++;
			j++;
		}
		
	}
	atr[j]='\0';
	puts(str);
	puts(atr);
	return 0;
}
#include
/*
 *	姓名:徐子宸
 *	班级:22101
 *	功能:实现字符串的连接
 *	解题方法:敲上几十种不同的有关系的程序甚至更多有关系的程序,也许就可以知道怎么敲程序
 */
int main()
{
	char str[100]="china";
	char atr[100]="country";
	int i=0,temp=0;
	for(i=0;i<6;i++)
	{
		str[temp]=atr[i];
		if(str[i]!='\0')
		{
			temp++;
		}
		i++;
	}
	str[i]='\0';
	puts(str);
	//str[i]='\0';
}
a#include
int main()
{
	char str1[100]={0};
	char str2[100]={0};
	int i=0,j=0;
	//scanf("%s",str1);
	//scanf("%s",str2);
	gets(str1);
	gets(str2);
	/*while(str1[i]!='\0')
	{
		//int i;
		i++;
	}*/
	for(int i=0;str1[i]!='\0';i++);
	for(int i=0,j=0;str2[j]!='\0';i++,j++)
	{
		str1(i++)=str2(j++);
	}
	/*while(str2[j]!='\0')
	{
		//int i,j;
		str1[i++]=str2[j++];
	}*/
	str1[i]='\0';
	puts(str1);
	return 0;
}
/*
 *	作者:徐子宸
 *	班级:22101
 *	功能:实现字符串的连接
 *	来源:根据高助教的指导改写
 *
 */
#include
int main()
{
	char str1[100];
	char str2[100];
	int i=0;
	int j=0;
	printf("请输入字符串1\n");
	gets(str1);
	printf("请输入字符串2\n");
	gets(str2);
	do
	{
		i++;
	}
	while(str1[i]!='\0');
	do
	{
		str1[i++]=str2[j++];
	}
	while(str2[j]!='\0');
	str1[i]='\0';
	printf("连接后的字符串为\n");
	puts(str1);
	return 0;

}
/*
 *	作者:徐子宸
 *	班级:22101
 *	功能:实现字符串的连接
 *	来源:根据高助教的指导改写
 *
 */
#include
//#include
int main()
{
	char str1[100];
	char str2[100];
	char str3[100];
	char str4[100];
	int i=0;
	//static int i=0;
	int j=0;
	int k=0;
	//int m=0;
	printf("请输入字符串1\n");
	gets(str1);
	printf("请输入字符串2\n");
	gets(str2);
	do
	{
		i++;
	}
	while(str1[i]!='\0');
	do
	{
		str1[i++]=str2[j++];
	}
	while(str2[j]!='\0');
	str1[i]='\0';
	printf("首次连接后的字符串为\n");
	puts(str1);
	//str4==str1;
	//puts(str4);
	//strcpy(str4,str1);
	do
	{
		str4[i]=str1[i];
		i++;
	}
	while(str1[i]!='\0');
	str4[i]='\0';
	printf("将此字符串复制一份得到\n");
	puts(str4);

	/*printf("请输入字符串3\n");
	gets(str3);
	do
	{
		k++;
	}
	while(str3[k]!='\0');
	do
	{
		
		str4[i++]=str3[k++];
	}
	while(str3[k]!='\0');
	str4[i]='\0';
	printf("再次连接后的字符串为\n");
	puts(str4);*/
	return 0;
}
/*
 *	拓展:将字符串2连接到字符串1后面,再将新生成的字符串复制一份
 *	未成功
 *
 */
/*
 *	作者:徐子宸
 *	班级:22101
 *	功能:实现字符串的连接
 *	来源:根据高助教的指导改写
 *
 */
#include
#include
int main()
{
	char str1[100];
	char str2[100];
	char str3[100];
	char str4[100];
	int i=0;
	//static int i=0;
	int j=0;
	int k=0;
	//int m=0;
	printf("请输入字符串1\n");
	gets(str1);
	printf("请输入字符串2\n");
	gets(str2);
	do
	{
		i++;
	}
	while(str1[i]!='\0');
	do
	{
		str1[i++]=str2[j++];
	}
	while(str2[j]!='\0');
	str1[i]='\0';
	printf("首次连接后的字符串为\n");
	puts(str1);
	//str4==str1;
	//puts(str4);
	strcpy(str4,str1);
	/*do
	{
		str4[i]=str1[i];
		i++;
	}
	while(str1[i]!='\0');
	str4[i]='\0';*/
	printf("将此字符串复制一份得到\n");
	puts(str4);

	printf("请输入字符串3\n");
	gets(str3);
	printf("字符串3为\n");
	puts(str3);
	/*do
	{
		k++;
	}
	while(str3[k]!='\0');
	do
	{
		
		str4[i++]=str3[k++];
	}
	while(str3[k]!='\0');
	str4[i]='\0';*/
	printf("再次连接后的字符串为\n");
	//puts(str4);
	
	strcat(str4,str3);
	puts(str4);
	return 0;
}
/*
 *	拓展:将字符串2连接到字符串1后面,再将新生成的字符串复制一份
 *	再输入字符串3,将字符串3连接到新复制的字符串后面
 *	问题:感觉不用到库函数不会写
 *
 */
/*
 *	作者:徐子宸
 *	班级:22101
 *	功能:实现字符串的连接
 *	来源:根据高助教的指导改写
 *
 */
#include
#include
int main()
{
	char str1[100];
	char str2[100];
	char str3[100];
	char str4[100];
	int i=0;
	//static int i=0;
	int j=0;
	int k=0;
	int m=0;
	printf("请输入字符串1\n");
	gets(str1);
	printf("请输入字符串2\n");
	gets(str2);
	do
	{
		i++;
	}
	while(str1[i]!='\0');
	do
	{
		str1[i++]=str2[j++];
	}
	while(str2[j]!='\0');
	str1[i]='\0';
	printf("首次连接后的字符串为\n");
	puts(str1);
	//str4==str1;
	//puts(str4);
	strcpy(str4,str1);
	/*do
	{
		str4[i]=str1[i];
		i++;
	}
	while(str1[i]!='\0');
	str4[i]='\0';*/
	printf("将此字符串复制一份得到\n");
	puts(str4);

	printf("请输入字符串3\n");
	gets(str3);
	printf("字符串3为\n");
	puts(str3);
	do
	{
		m++;
	}
	while(str4[m]!='\0');
	do
	{
		
		str4[m++]=str3[k++];
	}
	while(str3[k]!='\0');
	str4[m]='\0';
	printf("再次连接后的字符串为\n");
	//puts(str4);
	
	//strcat(str4,str3);
	puts(str4);
	return 0;
}
/*
 *	拓展:将字符串2连接到字符串1后面,再将新生成的字符串复制一份
 *	再输入字符串3,将字符串3连接到新复制的字符串后面
 *	问题:感觉不用到库函数不会写
 *
 */

#include
/*
 *	作者:徐子宸
 *	来源:自己
 *	功能:实现字符串的拷贝
 *	有问题
 *
 */
int main()
{
	char str[30]={"hello"};
	char atr[20]={"helloworld"};
	int i=0,j=0;
	while(str[i]!='\0'&&atr[j]!='\0')
	{
		str[i]=atr[j];
		i++;
		j++;
	}
	atr[j]='\0';
	puts(str);
	return 0;
}
#include
/*
 *	作者:徐子宸
 *	来源:22091班上课笔记
 *	功能:实现字符串的拷贝
 *
 *
 *
 */
int main()
{
	char str[100]={"china"};
	char atr[100]={"people"};
	int i=0;
	while(atr[i]!='\0')
	{
		str[i]=atr[i];
		i++;
	}
	atr[i]='\0';
	puts(str);
	return 0;
}
/*
 *	作者:徐子宸
 *	班级:22101
 *	来源:根据CSDN网站中的相关信息改写
 *	功能:实现对字符串的排序
 *
 */
#include
#include
int main()
{
	char str[5][10]={'\0'};
	char temp[10];
	printf("请输入5个不同的字符串\n");
	for(int i=0;i<5;i++)
	{
		scanf("%s",str[i]);
	}
	printf("字符串输入完毕\n");
	for(int i=0;i<5-1;i++)
	{
		int k=i;
		for(int j=i+1;j<5;j++)
		{
			if(strcmp(str[k],str[j])>0)
			{
				k=j;
				if(k!=i)
				{
					strcpy(temp,str[i]);
					strcpy(str[i],str[k]);
					strcpy(str[k],temp);
				}
			}
		}
	}
	printf("已完成对字符串的排序\n");
	for(int i=0;i<5;i++)
	{
		printf("%s\n",str[i]);
	}
	return 0;
}
/*
 *	思路分析:
 *
 *	输入字符:
 *	aa
 *	bb
 *	cc
 *	ee
 *	dd
 *	字符串输入完毕
 *	运行此循环,用于对字符串进行排序
 *	
	for(int i=0;i<5-1;i++)	
	{
		int k=i;
		for(int j=i+1;j<5;j++)
		{
			if(strcmp(str[k],str[j])>0)
			{
				k=j;
				if(k!=i)
				{
					strcpy(temp,str[i]);
					strcpy(str[i],str[k]);
					strcpy(str[k],temp);
				}
			}
		}
	}

 *	i={0,1,2,3}
 *	str[0]=aa
 *	str[1]=bb
 *	str[2]=cc
 *	str[3]=ee
 *	str[4]=dd
 *
 *	k={0,1,2,3}
 *	str[0]=aa
 *	str[1]=bb
 *	str[2]=cc
 *	str[3]=ee
 *	str[4]=dd
 *
 *	j={1,2,3,4}
 *	str[0]=aa
 *	str[1]=bb
 *	str[2]=cc
 *	str[3]=ee
 *	str[4]=dd
 *
 *	strcmp(str[0],str[1])>0
 *	strcmp(aa,bb)>0
 *	k=j
 *	str[k]=aa
 *	str[j]=bb
 *	str[k]=str[j]
 *	str[k]=bb
 *	str[i]=bb
 *	k!=i
 *	不进行两两交换
 *
 *	strcmp(str[1],str[2])>0
 *	strcmp(bb,cc)>0
 *	k=j
 *	str[k]=bb
 *	str[j]=cc
 *	str[k]=str[j]
 *	str[k]=bb
 *	str[i]=bb
 *	k!=i
 *	不进行两两交换
 *
 *	strcmp(str[2],str[3])>0
 *	strcmp(cc,ee)>0
 *	k=j
 *	str[k]=cc
*	str[j]=ee
*	str[k]=str[j]
*	str[k]=ee
*	str[i]=ee
*	k!=i
*	不进行两两交换
*
 *	strcmp(str[3],str[4])<0
 *	strcmp(ee,dd)<0
 *	k=j
 *	str[k]=ee
 *	str[j]=dd
 *	str[k]=str[j]
 *	str[k]=dd
 *	str[i]=ee
 *	k!=i
 *	进行两两交换
 *
 *	字符串的最终排序为
 *	aa
 *	bb
 *	cc
 *	dd
 *	ee
 *
 *	分析完毕
 *
 */

已完成总结

请自行运行调试代码,此文章只做参考

作者:徐子宸

班级:西安华清远见嵌入式22101班

日期:2022年10月29日

你可能感兴趣的:(华清远见,西安华清远见,徐子宸,学习,c语言,开发语言)