C语言向有序数组中插入一个数使该数组仍保持有序
#includestdio.h
int main()
{int n,i,j,t,k;printf("您喜欢的数组长度:\n");
scanf("%d",n);
int a[n],b[n+1];
printf("您喜欢的有序数组:\n");
for(i=0;in;i++)
{scanf("%d",a[i]);}
printf("请输入想插入的数字\n");
scanf("%d",k);
for(i=0;i=n;i++)
{if(i==n) b[i]=k;else b[i]=0;}
for(i=0; in; i++)
{for(j=0; jn; j++)
{b[j]=a[i++];}}
for(j=0;jn;j++)
{for(i=0;in-j;i++)
{if(b[i]b[i+1])
{t=b[i];b[i]=b[i+1];b[i+1]=t;}}}
for(j=0; jn+1; j++)
{printf("%d ",b[j]);}}
void?insert(?int?a[?],?int?n,?int?number?)
{
for?(int?i=0;in;i++)
if?(a[i]number)
continue;
else?
for?(int?j=n;ji;j--)
a[j]=a[j-1];
}
a[i]=number;
break;
if?(i==n)
#include
void
main()
int
n;
printf("请输入需要插入到数组中的位置:");
num;
printf("请输入需要插入的数:");
scanf("%d",num);
for
(int
i=10-1;i=n;i--)
s[i]=s[i-1];
s[i]=num;
printf("插入之后的数组:\n");
(i=0;i10;i++)
printf("%d
",s[i]);
printf("\n");
{ if(a[flag]a[i])//i==1时成立
{ flag=i;//flag=1
for(i=n-1; i=flag; i--)//i=1;i=1
{ a[i]=a[i+1];//下标越界了
{ printf("%d\n",a[i]);
====================
for(i=1; i=n; i++)
{ if(a[flag]a[i])
{ flag=i;
for(i=n; i=flag; i--)
{ a[i+1]=a[i];
a[i+1]=a[0];
for(i=1; i=n+1; i++)
已改,看注释
void main()
int value;
int location;
int i;
printf("修改前的数组:\n");
for (i=0;in;i++)
//-------------数组的插入操作------------------
printf("\n 请输入要插入的元素值:");
scanf ("%d",value);
printf("请输入要插入的位置(1..%d): ",n+1);
scanf("%d",location);
if((location1)||(locationn+1))
printf("你输入的位置超出范围!!\n");
return;
if(n==MAXNUMBER)
printf("数组已达到最大长度,再插入将超过超出范围!!\n");
n++;
for (i=n - 1;ilocation-1;i--) // 应该改成ilocation
array[i]=array[i-1];
array[location-1]=value;
printf("插入后的数组为:\n");
以上就是土嘎嘎小编为大家整理的数组中插入函数c语言相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!