問題 A: 習題6-4 有序插入
阿新 • • 發佈:2017-10-28
gree 要求 esp center blank get 原來 [0 頭文件
獻花: 213 解決: 185
[獻花][花圈][TK題庫]
問題 A: 習題6-4 有序插入
時間限制: 1 Sec 內存限制: 12 MB獻花: 213 解決: 185
[獻花][花圈][TK題庫]
題目描述
有一個已排好序的數組,要求輸入一個數後,按原來排序的規律將它插入到數組中。
假設數組長度為10,數組中前9個數(這9個數要求從鍵盤上輸入,輸入時要滿足自小到大的輸入順序)已經按從小到大進行排序。
然後再從鍵盤上輸入一個整數,將此整數插入到前有序的9個數中,使得最終的10個數依然是從小到大有序的。
輸入
第一行輸入以空格分隔的9個整數數,要求按從小到大的順序輸入。
第二行輸入一個整數
輸出
從小到大輸出這10個數,每個數一行。樣例輸入
1 11 21 31 41 51 61 71 81
45
樣例輸出
1
11
21
31
41
45
51
61
71
81
提示
定義數組時,把數組長度定義為10.
參考代碼:
#include<stdio.h>
#include<algorithm> //使用sort()函數必須加上頭文件#include<algorithm>和using namespace std;
using namespace std;
int main(void){
int a[10]={0}; //初始化數組
int i;
int n;
for(i=1;i<10;i++){ // 輸入9個數字寫入數組
scanf("%d",&a[i-1]);
}
printf("\n");
for(i=0;i<10;i++){
printf("%d ",a[i]);
}
scanf("%d",&n);
a[9]=n;
sort(a, a+9); // 調用sort()函數將a[0]~a[9]按從小到大排序,a表示數字第一個單元即a[0]的地址,a+10表示第十個單元地址即a[9]的地址
for(i=0;i<10;i++){
printf("%d\n",a[i]);
}
return 0;
}
問題 A: 習題6-4 有序插入