C語言使用指標對陣列指定位置進行插入元素
插入元素
輸入n個整數(1<=n<100),並在指定位置p處插入新元素,輸出最後的結果.
輸入格式:
每個測試包含2行輸入.第1行n,p,q,其中p,q分別表示需要插入的位置和需要插入的元素值(1<=p<=n+1, 且q符合int型資料範圍). 第2行表示n個整數. n,p,q均為0時,表示測試結束.
輸出格式:
輸出最後的結果
輸入樣例:
在這裡給出一組輸入。例如:
5 1 4
1 2 3 4 5
6 3 9
2 4 6 8 0 2
0 0 0
輸出樣例:
在這裡給出相應的輸出。例如:
4 1 2 3 4 5
2 4 9 6 8 0 2
#include<stdio.h>
int main(){
int a[100],n=1,p=1,q=1,*t=a,*s=a,*r=a;
while(1){
scanf("%d%d%d",&n,&p,&q);
if((n<0||n>100)||(n==0&&p==0&&q==0)){
return 0;
}
t=a;//令t指向陣列a首地址
s=t+n-1;//使s指向輸入的最後一個元素
for(;t<=s;t++)scanf("%d",t);//迴圈往陣列中新增元素
t=a;
r=t+p-1;//令r指向第p個元素
//將第p個元素以及之後面的每個元素進行往後賦值
for(;s>=r;s--){
*(s+1)=*s;
}
//對r指向的位置的陣列元素賦值
*r=q;
//完成對指定位置的元素新增
s=t+n;//使s指向新增完元素的陣列a的最後一個元素
for(;t<=s;t++)printf("%d ",*t);
printf("\n");
}
return 0;
}
這個是這個星期C語言上機課做的例題,因為剛學指標不久,便試著放棄使用陣列的取地址“[ ]”對陣列元素進行操作。
以上程式碼是可以實現以上例題功能的。
如有更好的做法,歡迎討論交流。
相關文章
- JavaScript 陣列 指定索引位置插入元素JavaScript陣列索引
- JavaScript陣列指定位置插入新元素JavaScript陣列
- JavaScript 陣列的指定位置插入多個元素JavaScript陣列
- C語言 指標與陣列C語言指標陣列
- C語言指標(三):陣列指標和字串指標C語言指標陣列字串
- c語言-運算子,陣列,指標C語言陣列指標
- (C語言)使用指標列印陣列的內容C語言指標陣列
- C語言指標和陣列筆試題C語言指標陣列筆試
- 陣列filter方法對陣列元素進行過濾陣列Filter
- 【C進階】28、指標和陣列分析指標陣列
- C陣列和指標陣列指標
- C語言指標C語言指標
- C語言陣列C語言陣列
- 陣列指標,指標陣列陣列指標
- C語言系列之 指標與陣列總複習視訊教程C語言指標陣列
- 指標陣列與陣列指標指標陣列
- c語言字元陣列C語言字元陣列
- c語言的陣列C語言陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- C++語言程式設計筆記 - 第6章 - 陣列、指標與字串C++程式設計筆記陣列指標字串
- 指標陣列和陣列指標與二維陣列指標陣列
- Go 陣列指標(指向陣列的指標)Go陣列指標
- c語言指標彙總C語言指標
- C語言指標用法大全C語言指標
- C語言 函式指標C語言函式指標
- C語言指標筆記C語言指標筆記
- C語言基礎-指標C語言指標
- C語言指標學習C語言指標
- C語言指標(二) 指標變數 ----by xhxhC語言指標變數
- JavaScript 刪除陣列指定元素JavaScript陣列
- JavaScript陣列檢索指定元素JavaScript陣列
- C語言知識彙總 | 51-C語言字串指標(指向字串的指標)C語言字串指標
- C語言知識彙總 | 56-C語言NULL空指標以及void指標C語言Null指標
- 陣列指標陣列指標
- c程式設計--指標與陣列C程式程式設計指標陣列
- C語言指標詳解(一)C語言指標
- C語言指標詳解(二)C語言指標
- C語言基礎-1、指標C語言指標