6.4有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。

//C程序设计第四版(谭浩强)
//章节:第六章 利用数组处理批量数据 
//题号:6.4 
//题目:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
#include <stdio.h>
int main()
{
	int a[40]={1,0},i,j,n,x;
	printf("请输入数组元素的个数:");
	scanf("%d",&n);
	printf("请输入排好序的一串数字:\n");
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	printf("请输入要插入的数: ");
	scanf("%d",&x);
	if(a[0]<a[1])	//该数组按升序排列
	{
		for(i=0;i<n;i++)
			if(x<a[i])	
				break;
		for(j=n;j>=i;j--)	//从插入位置后一位开始,每一个元素向后移一个位置 
			a[j]=a[j-1];
		a[i]=x;			
	}
	if(a[0]>a[1])	//该数组按降序排列 
	{
		for(i=0;i<n;i++)
			if(x>a[i])
				break;
		for(j=n;j>=i;j--)	//从插入位置后一位开始,每一个元素向后移一个位置 
			a[j]=a[j-1];
		a[i]=x;
	}
	printf("插入后的数组:\n");
	for(i=0;i<=n;i++)
		printf("%d ",a[i]);
	return 0;
 } 

猜你喜欢

转载自blog.csdn.net/weixin_44589540/article/details/86615726