題目:有一個已經排好序的陣列,現輸入一個數,要求按原來的規律將它插入陣列中,
程式分析:首先判斷此數是否大于最后一個數,然后再考慮插入中間的數的情況,插入后此元素之后的數,依次后移一個位置,
實體:
1 #include<stdio.h> 2 int main() 3 { 4 int a[11]={1,4,6,9,13,16,19,28,40,100}; 5 int temp1,temp2,number,end,i,j; 6 printf("原始陣列是:\n"); 7 for(i=0;i<10;i++) 8 printf("%4d",a[i]); 9 printf("\n插入一個新的數字: "); 10 scanf("%d",&number); 11 end=a[9]; 12 if(number>end) 13 a[10]=number; 14 else 15 { 16 for(i=0;i<10;i++) 17 { 18 if(a[i]>number) 19 { 20 temp1=a[i]; 21 a[i]=number; 22 for(j=i+1;j<11;j++) 23 { 24 temp2=a[j]; 25 a[j]=temp1; 26 temp1=temp2; 27 } 28 break; 29 } 30 } 31 } 32 for(i=0;i<11;i++) 33 printf("%4d",a[i]); 34 printf("\n"); 35 return 0; 36 }
以上實體輸出結果為:
原始陣列是: 1 4 6 9 13 16 19 28 40 100 插入一個新的數字: 10 1 4 6 9 10 13 16 19 28 40 100
感謝你的閱讀,請用心感悟!希望可以幫到愛學習的你!!分享也是一種快樂!!!請接力,,,
點擊查看原文,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/17365.html
標籤:C
上一篇:C 實戰練習題目38
下一篇:gorm系列-model
