C 練習實例39

C 語言經典100例 C 語言經典100例

題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。

程式分析:首先判斷此數是否大於最後一個數,然後再考慮插入中間的數的情況,插入後此元素之後的數,依次後移一個位置。

實例

// Created by www.xuhuhu.com on 15/11/9. // // #include<stdio.h> int main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf("原始數組是:\n"); for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n插入一個新的數字: "); scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else { for(i=0;i<10;i++) { if(a[i]>number) { temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) { temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } for(i=0;i<11;i++) printf("%4d",a[i]); printf("\n"); return 0; }

以上實例輸出結果為:

原始數組是:
   1   4   6   9  13  16  19  28  40 100
插入一個新的數字: 10
   1   4   6   9  10  13  16  19  28  40 100

C 語言經典100例 C 語言經典100例