在有序数组中插入一个数,数组依然有序,求看下程序问题在哪儿?

有若干整数按从小到大顺序放在数组中,用户输入一个数插入到此数组中,数组中的数依然按从小到大排列。求大佬看一下这个程序哪里有问题?
#include<stdio.h>
#include<stdlib.h>
void inserer(int *s,int x,int *n){
    int i,j=0;
    while(j<*n && s[j]<x) j++;
    for(i=(*n)-1;i>=j;i--) s[i+1]=s[i];
    s[i]=x;
    *n=(*n)+1;
}
void output(int *s,int *n){
    int i;    for(i=0;i<*n;i++) printf("%d  ",s[i]);
    printf("\n");
}
int main(void){
    int s[10]={1,6,7,10,14,18,22,29,36,47},x;
    int n=10;    printf("Entrez un chiffre : ");
    scanf("%d",&x);    
    printf("Le tableau precedent : ");
    output(s,&n);
    inserer(s,x,&n)
    printf("Le nouveau tableau : ");
    output(s,&n);
    return EXIT_SUCCESS;
}

假如输入12,运行结果:
Entrez un chiffre : 12
Le tableau precedent : 1  6  7  10  14  18  22  29  36  47
Le nouveau tableau : 1  6  7  12  14  14  18  22  29  36  48  12  9900928  0  4199400  0  0  0  46  0  4225568  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

--------------------------------

猜你喜欢

转载自my.oschina.net/u/3825355/blog/1788212