當前位置:首頁 » 編程語言 » 數組最後添加元素c語言
擴展閱讀
怎麼清除預覽圖片的緩存 2022-11-30 14:15:11
c語言創建有序鏈表 2022-11-30 14:08:06

數組最後添加元素c語言

發布時間: 2022-09-25 13:29:21

㈠ 在c語言中,如何在數組中插入一個數

方法為:輸入一個數據x,將數組中的數據與x逐一比較,如果大於x,記錄下數據的下標,然後此數據下標和其後的數據的下標都加一,相當於都向後挪一位,然後將x賦值給數組的那個下標。

#include<stdio.h>

int main()

int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;

printf("插入前數組的數據是:") ;

for(i=0;i<10;i++)

printf("%4d",a[i] ) ;

printf(" ") ;

printf("請輸入要插入的數據:") ;

scanf("%d",&x) ;

for(i=0;i<10;i++)

if(a[i]>x)

break;

for(j=9; j>=i; j--)

aLj+1] =aLj] ;

a[i]=x;

printf("插入後數組的數據是:") ;

for(i=0; i<11; i++)

printf("%4d",[i] ) ;

return 0;

(1)數組最後添加元素c語言擴展閱讀:

數組的使用規則:

1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;(請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。)

3.如不給可初始化的數組賦初值,則全部元素均為0值。

4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。

網路-數組

㈡ C語言數組中插入元素的函數

voidinsert(inta[],intn,intnumber)
{
for(inti=0;i<n;i++)
{
if(a[i]<number)
continue;
else
{
for(intj=n;j>i;j--)
{
a[j]=a[j-1];
}
a[i]=number;
break;
}
}
if(i==n)
a[i]=number;
}

㈢ C語言怎麼對數組進行添加

int b=1;
int c=0;
int *a=new int[b];
for(int i=b;i<=b;)
{
cin>>a[i];
cout<<"繼續按1"
cin>>c;
if(c) {b++;int *a=new int[b];}
else break;
}

㈣ c語言怎麼在數組最後再加一些數據。

很簡單利用C語言中的動態數組就可以搞定

舉個例子

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<time.h>

intmain()
{
srand((unsigned)time(NULL));
intn;
intnew_number;
printf("pleaseinputanumber: ");
scanf("%d",&n);
int*p=(int*)malloc(n*sizeof(int));
for(inti=0;i<n;i++)
{
p[i]=rand()%100;
}
printf("thearrayis: ");
for(inti=0;i<n;i++)
{
printf("%d ",p[i]);
}
printf("addanewnumbertoarray: ");
scanf("%d",&new_number);
int*q=(int*)realloc(p,(n+1)*sizeof(int));
q[n]=new_number;
printf("afteraddanewnumberthearrayis: ");
for(inti=0;i<n+1;i++)
{
printf("%d ",q[i]);
}
free(q);
system("pause");
return0;
}

通過動態數組就可以在原本已經滿的數組後面繼續添加元素

㈤ c語言如何把數組中的數據加起來

可以通過循環遍歷數組中的每個元素,並進行累加。
累加的結果可以保存在變數中,需要注意,要保證變數足夠保存累加結果,不會出現溢出。
參數為整型數組a,長度為l,對其元素實現累加並返回結果的函數可以寫作
int sum(int *a, int l)
{
    int r = 0; // 存儲累加結果。
    int i;
    for(i = 0; i < l; i ++)//遍歷a
        r += a[i];//累加元素。
    return r;//返回結果。
}

㈥ 關於c語言數組 如何在一個數組尾部添加新的元素需要建立一個新的數組嗎

插入元素必須需要數組元素要比元素個數多,給出如下例:
#include<iostream>
usingnamespacestd;
intmain()
{
intarr[100];//聲明數組;
intn;
cout<<"請輸入元素的個數:";
cin>>n;//有多少個數組元素
cout<<"請輸入元素:";
for(inti=0;i<n;i++)
{
cin>>arr[i];
}
sort(arr,arr+n);//對數組進行從小到大排序
cout<<"請輸入要插入的元素"<<endl;
cin>>arr[n];
sort(arr,arr+n+1);//對插入的元素進行從小到大排序
cout<<"排序後的元素:";
for(inti=0;i<n;i++)
{
cout<<arr[i]<<"";
}
cout<<arr[n]<<endl;
return0;
}

㈦ c語言數組元素的刪除與增加。

C語言中的數組本質上是在計算機內存中分配的連續空間。

如果需要對元素進行插入和刪除,並不能直接將內存中為該數組分配的空間進行插入/新增和刪除,而是只能通過數據復制的方式將本來不在這個位置的元素進行移動,看起來像是元素的前移和後移。

舉個例子吧:整型數組(1, 2, 3, 4, 5),如果要把2刪除,那麼可以將3,4,5分別向前移動,變成(1, 3, 4, 5, 5)。由於數組長度分配以後不會變化,因此最後一個多餘的5實際上並不能刪掉,它只是表示無意義的位置。因此對於編程人員來講,需要另一個參數來記錄這個數組中你認為有用的元素是前多少個。

值得注意的是,如果數組長度不足以保存新的元素時,是無法動態地增加數組長度的。如果非要這么做,必須要在數組分配時保證數組大小足夠大。這也就是一些新手經常將數組長度設置為1000,10000的原因。

回到這個問題:

//預定義的數組,長度為20
intarray[20]={0};
//數組當前有效長度
intarrayLen=0;

//如果不是全局數組,則需要將數組指針和數組長度指針傳入進行修改
voidinsertArray(intnewElement,intindex)
{
//這里沒有做數組長度的檢驗,你需要自己完成

inti;
for(i=arrayLen++;i>index;)
array[i--]=array[i-1];//後移

array[index]=newElement;
}

voiddeleteArrayElement(intindex)
{
for(;index<arrayLen;)
array[index++]=array[index+1];//前移。要刪除的位置會被直接覆蓋

arrayLen--;
}

㈧ 求一個在數組中加入一個元素的C語言程序

以下程序的功能是:從鍵盤輸入一個數,將其插入到一個已經是升序排好的數組,使其仍然是升序排列

#include<stdio.h>
void main()
{
int data,temp,k;
static int a[9]={-10,2,4,8,10,15,25,50,0};
printf("\n請輸入要插入的數");
scanf("%d",&data);
a[8]=data;
for(k=8;k>0;k--)

if(a[k]<a[k-1])
{
temp=a[k];a[k]=a[k-1];a[k-1]=temp;
}
//else continue;

for(k=0;k<9;k++)
printf("%3d",a[k]);
}