C 語言程式使用指標插入陣列元素。
問題
編寫一個 C 程式,在執行時由使用者輸入元素插入陣列,並在插入後將結果顯示在螢幕上。如果插入的元素大於陣列的大小,則需要顯示“無效輸入”。
解決方案
陣列用於在一個名稱下儲存一組公共元素。
陣列操作如下:
- 插入
- 刪除
- 搜尋
演算法
參考一個演算法,使用指標將元素插入陣列。
步驟 1:宣告並讀取元素數量。
步驟 2:在執行時宣告並讀取陣列大小。
步驟 3:輸入陣列元素。
步驟 4:宣告一個指標變數。
步驟 5:在執行時動態分配記憶體。
步驟 6:輸入要插入元素的位置。
步驟 7:在該位置插入新元素,並將右側的元素向右移動一個位置。
示例
陣列大小為:5
陣列元素如下:
1 2 3 4 5
插入新元素:9
在位置:4
輸出如下:
After insertion the array elements are: 1 2 3 9 4 5
示例
以下是使用指標將元素插入陣列的 C 程式:
#include<stdio.h>
#include<stdlib.h>
void insert(int n1, int *a, int len, int ele){
int i;
printf("Array elements after insertion is:
");
for(i=0;i<len-1;i++){
printf("%d
",*(a+i));
}
printf("%d
",ele);
for(i=len-1;i<n1;i++){
printf("%d
",*(a+i));
}
}
int main(){
int *a,n1,i,len,ele;
printf("enter size of array elements:");
scanf("%d",&n1);
a=(int*)malloc(n1*sizeof(int));
printf("enter the elements:
");
for(i=0;i<n1;i++){
scanf("%d",a+i);
}
printf("enter the position where the element need to be insert:
");
scanf("%d",&len);
if(len<=n1){
printf("enter the new element that to be inserted:");
scanf("%d",&ele);
insert(n1,a,len,ele);
} else {
printf("Invalid Input");
}
return 0;
}輸出
執行上述程式時,會產生以下輸出:
enter size of array elements:5 enter the elements: 1 3 5 7 2 enter the position where the element need to be insert: 5 enter the new element that to be inserted:9 Array elements after insertion are: 1 3 5 7 9 2
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP