回覆列表
-
1 # 卡麗麥妹妹
-
2 # 使用者3486140770140
讀者可以思考:如果本例是向陣列插入一個元素,迴圈應該如何來寫?
main()
{
int nArray[10], i,num;
/*輸入10個整數*/
printf("\nPlease input 10 integers: ");
for(i=0;i
scanf("%d",& nArray [i]);
printf("\nPlease input sequence number of the element to delete: ");
scanf("%d",&num);
/*從nArray [num](第num+1個元素)開始,依次向前移動一位*/
for(i=num;i
nArray [i-1]= nArray [i];
nArray [10]=0;
/*輸出處理後的陣列,最後一位不需要輸出*/
printf("\nProcessed array: ");
for(i=0;i
printf("%d ", nArray [i]);
}
程式執行後,輸入10個整數:
Please input 10 integers: 1 2 3 4 5 6 7 8 9 10
Please input sequence number of the element to delete: 5
Processed array: 1 2 3 4 6 7 8 9 10
例6-2 將10個整數存入陣列,刪除陣列中的某個元素。例如,陣列中有1,2,3,4,5,6,7,8,9,10共10個元素,刪除第5個元素後,陣列中剩下9個元素1,2,3,4,6,7,8,9,10。首先定義一個長度為10的int型陣列,用來存放10個整數。用迴圈輸入陣列的每個元素,以及要刪除元素的序號(假設序號為n)。使用迴圈,將陣列中序號n後的所有元素向前移動一位,然後刪除最後一個元素。這裡要注意陣列的下標是從0開始的,序號為n的陣列元素,對應陣列的下標應該是n-1。讀者可以思考:如果本例是向陣列插入一個元素,迴圈應該如何來寫?main(){int nArray[10], i,num;/*輸入10個整數*/printf("\nPlease input 10 integers: ");for(i=0;i<10;i++)scanf("%d",& nArray [i]);/*輸入要刪除的元素序號*/printf("\nPlease input sequence number of the element to delete: ");scanf("%d",&num);/*從nArray [num](第num+1個元素)開始,依次向前移動一位*/for(i=num;i<10;i++)nArray [i-1]= nArray [i];/*刪除最後一個元素*/nArray [10]=0;/*輸出處理後的陣列,最後一位不需要輸出*/printf("\nProcessed array: ");for(i=0;i<9;i++)printf("%d ", nArray [i]);}程式執行後,輸入10個整數:Please input 10 integers: 1 2 3 4 5 6 7 8 9 10Please input sequence number of the element to delete: 5Processed array: 1 2 3 4 6 7 8 9 10