编写一段C语言程序,有一个已经按从小到大排好序的数组,要求输入一个数后,

按原来排序的规律将它插入数组中。

#include<stdio.h>

#define N 20

#define M 11

void main() { int a[N]={1,3,5,7,9,11,13,15,17,19,21},x,i,j;

scanf("%d",&x);

for ( i=M;i>0;i++ ) if ( a[i-1]>x ) a[i]=a[i-1]; else break;

a[i]=x;

for ( i=0;i<M+1;i++ ) printf("%d ",a[i]); printf("\n");

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-03
下面是c语言代码:
#include <stdio.h>

void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j]<a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}

int main()
{
int i,a[100],n,num;
printf("输入数组中数的个数:");
scanf("%d",&n);

printf("\n输入%d个数(空格分隔):",n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
sort(a,n);
printf("当前数组中的数从小到大排序为:");
for(i=0;i<n;i++) printf(" %d",a[i]);

printf("\n输入要插入的数:");
scanf("%d",&num);
a[n++]=num;
sort(a,n);
printf("插入后数组的内容为:");
for(i=0;i<n;i++) printf(" %d",a[i]);
printf("\n");
return 0;
}
第2个回答  2019-10-03
#include <stdio.h>
#include <stdlib.h>

int main()
{
int Num[10];
int i,z,input;
z=0;
for(i=0;i<10;i++)
{
z=z+3;
Num[i]=z;
printf("%d ",Num[i]);
}
printf("\n");

scanf("%d",&input);
for(i=0;i<10;i++)
{
if(input < Num[i])
{
printf("%d ",input);
break;
}
printf("%d ",Num[i]);
}
for(;i<10;i++)
printf("%d ",Num[i]);
system("pause");
return 0;
}
相似回答