题目:

输入3个字符串,要求按由小到大的顺序输出。

代码实现:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
	char arr[3][20] = { 0 };
	char* p[3] = { 0 };
	int i = 0;
	int j = 0;
	char* tem = NULL;

	//输入
	for (i = 0; i < 3; i++)
	{
		scanf("%s", arr[i]);

		p[i] = arr[i];
	}

	//调序
	for (i = 0; i < 2; i++)
	{
		//当i == 0时
		//循环2次,p[1]分别与p[2]、p[3]相比较,跳出循环时,p[1]为最小字符串
		//当i == 1时
		//循环一次,使p[2]、p[3]相比较,跳出循环时,p[3]为最大字符串
		//
		for (j = i + 1; j < 3; j++)
		{
			if (strcmp(p[i], p[j]) > 0)
			{
				tem = p[i];
				p[i] = p[j];
				p[j] = tem;
			}
		}
	}

	//输出
	for (i = 0; i < 3; i++)
	{
		printf("%s ", p[i]);
	}

	return 0;
}