當前位置:首頁 » 編程語言 » c語言追加靜態數組元素
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言追加靜態數組元素

發布時間: 2023-05-10 09:28:41

㈠ 關於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語言中如何給數組增加一行元素

#include"stdio.h"
intmain(intargc,char**argv){
inta[3][2]={{1,2}};
intb[2]={3,4};
intc[2]={5,6};
inti,j=0;
//賦值
for(i=0;i<3;++i){
液枝if(1==i){//B賦值到A
for(j=0;j<2;++j){
吵盯a[i][j]=b[j];
升埋和}
}elseif(2==i){//C賦值到A
for(j=0;j<2;++j){
a[i][j]=c[j];
}
}
}
//輸出
for(i=0;i<3;++i){
printf(" a[%d]:",i);
for(j=0;j<2;++j){
printf("a[i][j]=%d;",a[i][j]);
}
}
printf(" ");
return0;
}

㈢ c語言插入數組元素(數組)

C語言中,數組是一組連續的相同類型的數據集合。 所以要在數組中插入元素,需要按照以下步驟:

1、找到插入點;

2、將插入點所在元素,及之後的所有元素,都向後移動一個單位;

3、將插入點賦值為要插入的元素。

以固定位置插入,代碼舉例如下:

#include<stdio.h>
voidinsert(int*a,intn,inti,intv)
//將長度為n的數組a,下標為i的位置插入值為v的元素。插入後,數組長度為n+1.
{
intj;
for(j=n-1;j>=i;j--)//將i及以後的後移一位。由於是固定位置插入,所以不需要查找插入位置。
a[j+1]=a[j];
a[i]=v;//插入元素。
}

intmain()
{
inta[5]={1,3,6,7};/五個元素數組,初始化四個值。
inti;

insert(a,4,2,5);//將5插入到a[2]位置。
for(i=0;i<5;i++)
printf("%d",a[i]);//輸出結果,為13567
return0;
}

㈣ 如何擴充靜態數組array的長度

C語言一維數組分靜態一維數組和動態一維數組兩種。

一、靜態一維數組,在定義的時候就已經確定其長度。如

int a[10];
就是定義了一個長度為10個元素的整型數組。

靜態數組不支持長度的增加。如果要增加長度,只能新定義一個更長的數組,並把原始數組的數據復制到新數組中。

二、動態一維數組,本質上是一個一維指針,並在其上分配一段內存,在這段內存上,可以當做數組來使用。

這種情況下,可以通過realloc函數,來實現增加長度。

int *p; //定義指針
p = malloc(10*sizeof(int));//分配10個元素。
p = realloc(p,20*sizeof(int));//重新分配,長度增加到20. 使用該函數,可以保持原本空間內的數據不變,只是可用空間增加。

㈤ c語言靜態存儲數組的賦值問題。

使用static定義靜態數組,這個數組就會在程序的整個生命周期里存在,並且這個數組會分配並放在程序的.bss段中,這個段中的所有數據都是會被自動初始化為0的,如果是聲明在函數中,那麼調用這個函數每次使用的數組都是同一個數組,如果不是在函數中定義,那麼這個數組就僅限於在此文件中可用。

而沒有static聲明的數組,這個數組會在調用這個函數所在的棧幀中分配,也就是在棧上分配,這個數組就不會被初始化,數組中的值是隨機的,如果在函數中定義,那麼調用這個函數時每次使用的數組一般是不同的。

至於要不要用static來聲明,一方面是看你是否需要這個數組被長久使用,另一方面就是看是否需要讓它自動初始化為0,還有就是在其他文件中是否需要使用這個數組。

㈥ C語言數組怎麼插入一個元素

#include<stdio.h>

#include<stdlib.h>

#define MAX 40

void insert(int*p,int n,int m)

{ int i,k;

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

if(p[i]>=m)

{ k=i;

break;}

for(i=n-1;i>=k;i--)

p[i+1]=p[i];

printf("%d ",k);

p[k]=m;


}

void sort(int*p,int n)

{

int i,j;

for(i=1;i<n;i++)

for(j=0;i+j<n;j++)

if(p[j]>p[j+1])

{ int t;

t=p[j+1];

p[j+1]=p[j];

p[j]=t;

}

}

void main()

{

int a[MAX];

int n,i,m,d;

printf("輸入野中則數據個數(n<40):");

d=scanf("%d",&n);

while(d!=1&&n>=40)

{ system("cls");

fflush(stdin);

printf("請重新輸入:");

scanf("培指%d",&n);


}

printf("請輸入數組元頌棚素:");

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

scanf("%d",a+i);

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

scanf("%d",&m);

sort(a,n);

insert(a,n,m);

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

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

printf(" ");

}

㈦ C語言 怎麼在原來的數組上增加新的數據

a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。

if((fp=fopen("bill","a+"))==NULL)

㈧ C語言靜態數組

通俗的說靜態數組就是在定義數組的時候,由操作系統分配的空間,比如
int
a[10];
這就是在定義時由系統給你分配了10個int類型的空間,這個空間是可以初始化的,比如
int
a[10]
=
{1,
2,
3,
4,
5,
6,
7,
8,
9,
10};
那麼在這個定義之後,系統會首先分配10個int類型的存儲空間,然後把大括弧裡面的數字分別的,按順序放到這10個空間里。你所做的只是寫這么一句,而數組賦值的操作就由系統完成了。當然,初始化與否看你的需求,初始化不是強制性操作,想初始化就初始化,不想也沒問題,還是上面的例子繼續:
int
a[10];
這里定義了,但是沒初始化,這沒有任何問題,以後你可以自己往裡面賦值,比如
a[1]
=
8;
a[5]
=
3;
或者
for(int
i
=
0;
i
<
10;
i++)
a[i]
=
i;
等等
對於動態數組,不能被初始化,因為動態數組在定義時只是個指針,比如
int
*a;
這里變數a只是個指向int類型的指針,而不是數組。動態分配有10個int類型元素的數組,如下:
a
=
(int)
malloc(10*sizeof(int));
很明顯,指針a在定義的時候不能被初始化,比如這樣寫就是錯誤的:
int
*a
=
{1,2,3,4,5,6,7,8,9,10};
/*
錯誤!
*/
因為a是只有4個位元組的指針,沒有可用的存儲空間給需要初始化的變數。
所以,靜態數組從語法上來說允許被初始化。作為程序員來說,你可以初始化靜態數組,也可以不初始化,由你決定。

㈨ c語言中怎樣用代碼添加數組成員數

C語言的數組有動態數組和靜態數組兩種。

1 靜態數組。

對於靜態數組,無法新增加數組成員數量。

所以一定要最初始定義足夠大的數組,然後可以用一個整型變數維護數組中現有成員個數,再動態增加實際成員個數。

比如

inta[1000];
intn=0;
while(scanf("%d",&a[n])!=EOF)n++;

這樣的代碼就可以實現增加數組成員數的類似效果。n為實際成員個數。


2 動態數組。

動態數組是可以隨時改變數組成員個數的。不過為了確定當前數組個數,需要用兩個整型變數來保存最大成員數,和已有成員數,這樣就可以在不夠的時候進行擴大。

intn=0,size=100;//n為當前元素個數,size為數組大小,初始為100.
int*a=NULL;//數組指針。
a=(int*)malloc(sizeof(int)*size);//初始分配100個元素。
while(scanf("%d",&a[n])!=EOF)
{
n++;
if(n>=size)//空間不足。
{
size+=100;//增加100個元素空間。
a=(int*)realloc(sizeof(int)*size,a);//重新分配空間。
}
}

㈩ C語言中新增一個數組元素

main()
{int i,n,m;
int a[8]={1,2,3,4,5,6,7,8};/*可以自己定義的,這里為正跡了方便*/
printf("\nthe original array a:");
for(i=0;i<8;i++)
printf("%-3d",a[i]);
printf("\n");
printf("\nplease enter whick number you want added n(0~8):");/*輸入要寬凳加入的下標n,從0~8之間慎清旅*/
scanf("%d",&n);
for(i=8;i>n;i--)
a[i]=a[i-1];
printf("\Enter the number you added m:");
scanf("%d",&m);
a[n]=m;
printf("now,the array a:");
for(i=0;i<9;i++)
printf("%-2d",a[i]);
printf("\n");
}