程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言插入一個數字到數組中,然後排序 麻煩各位解答一下 看代碼

c語言-C語言插入一個數字到數組中,然後排序 麻煩各位解答一下 看代碼

編輯:編程綜合問答
C語言插入一個數字到數組中,然後排序 麻煩各位解答一下 看代碼
int i,j,temp;
int count[9];
printf("請輸入數值:\n");
for(i=1;i<=8;i++)
{
    printf("count[%d]=",i);
    scanf("%d",&count[i]);
}
for(i=1;i<=8;i++)
{
    for(j=i+1;j<=8;j++)
    {
        if(count[j]>count[i])
        {
            temp=count[i];
            count[i]=count[j];
            count[j]=temp;
        }
    }
}
printf("排序後:");
for(int k=1;k<=8;k++)
{
    printf("%d ",count[k]);
}
printf("\n");
printf("插入一個數字:");
int num;//要插入的數字
int index;//插入數字的下標
scanf("%d",&num);

//程序走到這裡就不走了 這是怎麼回事 麻煩各位指教
for(i=1;i<=8;i++)
{
if(num>count[i] && num<=count[i+1])
{
index=i;
break;
}
}
printf("%d",index);
for(i=8;i>index;i--)
{
count[i+1]=count[i];
}
count[i]=num;//把num插入到數組裡面
printf("插入數字後排序的結果:");
for(i=1;i<=9;i++)
{
printf("%d",count[i]);
}
printf("\n");
}

麻煩各位了

最佳回答:


 for(i=1;i<=8;i++)
{
    if(num>count[i] && num<=count[i+1])//這裡不對,當i=8時,count[i]就出界了
    {
        index=i;
        break;
    }
}

改為:
for(i=1;i<=8;i++)
{
    if(num<count[i] )
    {
        index=i;
        break;
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved