当前位置:首页 » 编程语言 » 数组最后添加元素c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数组最后添加元素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]);
}