本專欄僅僅用於個人記錄刷題過程,如有更好的解決方法,可以留言哦
題目要求
有一個已排好序的數組,要求輸入一個數後,按原來排序的規律將它插入到數組中。
假設數組長度爲10,數組中前9個數(這9個數要求從鍵盤上輸入,輸入時要滿足自小到大的輸入順序)已經按從小到大進行排序。
然後再從鍵盤上輸入一個整數,將此整數插入到前有序的9個數中,使得最終的10個數依然是從小到大有序的。
定義數組時,把數組長度定義爲10.
要求輸入
第一行輸入以空格分隔的9個整數數,要求按從小到大的順序輸入。
第二行輸入一個整數
樣例
1 11 21 31 41 51 61 71 81
45
要求輸出
從小到大輸出這10個數,每個數一行。
樣例
1
11
21
31
41
45
51
61
71
81
可AC代碼如下
#include<stdio.h>
int main(){
int a[10];
for(int i = 0; i < 9;i++){
scanf("%d",&a[i]);
}
scanf("%d",&a[9]);
for(int i = 9; i > 0 ; i--){
if(a[i]<a[i-1]){
int temp = a[i-1];
a[i-1] = a[i];
a[i] = temp;
}
}
for(int i = 0; i < 10; i++){
printf("%d\n",a[i]);
}
return 0;
}