C语言向一个已经排好顺序数组中插入一个数据后

只有图片一张做完后加分

最好解析一下

第1个回答  推荐于2016-09-22
#include<stdio.h>

int main(){
int a[10]={1,2,3,4,5,6,7,8,9},i,cha,j;
scanf("%d",&cha);
for(i=0;i<9;i++)
if(cha>=a[i]&&cha<a[i+1]){
for(j=10-2;j>=i+1;j--)a[j+1]=a[j];
a[i+1]=cha;
break;}
for(i=0;i<10;i++)printf("%d ",a[i]);
return 0;}追问

输出行什么见不到

追答

#include
#include
int cmp(const void *x,const void *y){
return *(int *)x-*(int *)y;}
int a[5010];
int main(){
int i,n,cha,j;
printf("输入数字个数:(=a[i]&&cha=i+1;j--)a[j+1]=a[j];
a[i+1]=cha;
break;}
printf("插入后的数组为:\n");
for(i=0;i<=n;i++)printf("%d ",a[i]);
return 0;}

追问

名其妙多一个9999999

追答

T_T...我的错
#include
#include
int cmp(const void *x,const void *y){
return *(int *)x-*(int *)y;}
int a[5010];
int main(){
int i,n,cha,j,is=0;
printf("输入数字个数:(=i;j--)a[j+1]=a[j];
a[i]=cha;
is=1;
break;}
if(!is)a[n]=cha;
printf("插入后的数组为:\n");
for(i=0;i<=n;i++)printf("%d ",a[i]);
return 0;}

本回答被提问者采纳
相似回答