输入一个数据,将它进行排序,并且在排好序的基础上,按原来排序的规律插入数组

输入一个数据,将它进行排序,并且在排好序的基础上,按原来排序的规律插入数组

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
	int arr[50] = { 0 };
	printf("请输入一个数组:\n");
	int i = 0;
	int c = 0;
	while ((scanf("%d", &arr[i]) == 1) && i < 50)
	{
		if (arr[i] == 0)
		{
			break;
		}
		i++;
	}
	c = i;
	printf("c=%d \n",c);
	int j = 0;
	printf("打印输入的数据:");
	for (j = 0; j <= c; j++)
	{
		printf("%d ",arr[j]);
	}
	printf("\n");
	c = i;
	int k = 0;
	printf("打印排序后的数据:");
	for (j = 0; j <= c; j++)
	{
		int tmp = 0;
		for (k = j; k < c; k++)
		{
			if (arr[j] > arr[k + 1])
			{
				tmp = arr[j];
				arr[j] = arr[k + 1];
				arr[k + 1] = tmp;
			}
		}
	}
	for (j = 0; j <= c; j++)
	{
		printf("%d ",arr[j]);
	}
	printf("\n");
	printf("请输入需要插入的数字:");
	int a = 0;
	c = i;
	scanf("%d", &a);
	while ((a < arr[c]) && c >= 0)
	{
		arr[c + 1] = arr[c];
		c--;
	}
	arr[c + 1] = a;
	printf("输出插入后的数据:");
	for (j = 0; j < i + 2; j++)
	{
		printf("%d ",arr[j]);
	}
	printf("\n");
	return 0;
}

输出结果:

输入一个数据,将它进行排序,并且在排好序的基础上,按原来排序的规律插入数组_第1张图片

你可能感兴趣的:(算法,排序算法,c语言)