麻烦一下啊!各位C大师: 设计一个函数,向一个有序的整型数组(升序)中插入一个元素。

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:49:04

不是要写成函数么???

我写这个,运行通过。

#include<stdio.h>
#define N 10

void insert(int a[N],int p[],int n)
{int i=0;
for(i=0;i<N;i++){
if(n<=*(p+i))break;
else a[i]=*(p+i);
} a[i]=n;
for(i;i<N;i++)a[i+1]=*(p+i);
}

main(){
int i,a[N];
int p[]={0,1,2,3,4,5,6,8,9};
insert(a,p,7);
printf("\n新序列为:\n");
for(i=0;i<N;i++)printf("%d,",a[i]);
getch();
}

#include <stdio.h>

main(){
int a[11]={3,8,9,11,20,25,45,67,88,100};
int i,j,number;
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("请输入一个数:\n");
scanf("%d",&number);
if(number>a[9]) //如果输入的数大于最大数,那么直接给它最后的位置。
a[10]=number;
for(i=0;i<10;i++){//如果上述条件不符合,就要从前逐个试。
if(a[i]>n