现在的位置: 首页 > 综合 > 正文

C语言的那些事——在原数组中插入数

2013年09月26日 ⁄ 综合 ⁄ 共 530字 ⁄ 字号 评论关闭

//在一个已经排好顺序的数组内,按排列规则插入一个数,
//使数组仍然保持有序,该例中数组内数据为升序排列。

#include<stdio.h>
#define N 7   //N表示原来数组内的数据个数,该数据不能超过数组的最大容量
void main()
{
int a[10]={10,20,30,40,50,64,71};
int i,j;
int num=0;
printf("原数据为:\n");
for(i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
printf("请输入插入值:\n");
scanf("%d",&num);

if(a[N-1]<num)
{
a[N]=num;
}
else if(a[0]>num)
{
for(i=N-1;i>=0;i--)
{
a[i+1]=a[i];
}
a[0]=num;
}
else
{
for(i=0;i<N;i++)
{
if(num>=a[i]&&num<=a[i+1])
{
for(j=N-1;j>i;j--)
{
a[j+1]=a[j];
}
a[j+1]=num;
break;
}
}
}

printf("插入后的排序为:\n");
for(i=0;i<N+1;i++)
printf("%3d",a[i]);
printf("\n");
}

【上篇】
【下篇】

抱歉!评论已关闭.