C语言如何把一个整数按大小顺序插入已排好序的数组中?

如题所述

第一种方法

main(){
int i,j,p,n,s,a[11]={127,6,3,28,68,87,105,54,162,18};
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++) 
if(a[i]<=a[j]) 
p=a[i],a[i]=a[j],a[j]=p;
}
printf("输入参与排序的数字:");
scanf("%d",&n);
a[10]=n;
for(i=0;i<11;i++)if(a[10]>a[i])
p=a[i],a[i]=a[10],a[10]=p;
for(i=0;i<11;i++)
printf("%d ",a[i]);
}

第二中种方法
main(){ 
int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18}; 
for(i=0;i<10;i++) 
{
p=i;q=a[i]; 
for(j=i+1;j<10;j++) 
if(q<a[j])
{p=j;q=a[j];} 
if(p!=i) 
{ s=a[i]; 
a[i]=a[p]; 
a[p]=s; 

printf("%d ",a[i]); 

printf("\ninput number:\n"); 
scanf("%d",&n); 
for(i=0;i<10;i++) 
if(n>a[i]) 
{
for(s=9;s>=i;s--) 
a[s+1]=a[s]; 
break;
}
a[i]=n; 
for(i=0;i<=10;i++) 
printf("%d ",a[i]); 
printf("\n");
}

温馨提示:答案为网友推荐,仅供参考
相似回答