c语言中怎样用代码添加数组成员数

c语言中怎样用代码添加数组成员数,第1张

C语言的数组有动态数组和静态数组两种。

1 静态数组。

对于静态数组,无法新增加数组成员数量。

所以一定要最初始定义足够大碰友的数组,然后可以用一个整型变量维护数组中现神清有成员个数,再动态增加实际成员个数。

比如

int a[1000]

int n = 0

while(scanf("%d",&a[n]) != EOF) n ++

这样的代码就可以实现增加数组成员数的类似效果。n为实际成员个数。

2 动态数组。

动态数组是可以随时改变数组成员个数的。不过为了确定当前数组个数,需要用两个整型变量来保存最大成员数,和已有成员数,这样就可以在不够的时候进行扩大。

int n = 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)//重新分配空间。

    }

}

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

新增一个数组元素

1.定义一维整型数组,并初始化赋值

2.输入要增加的数组元素的下标

3.增加该序号对应的元素

4.重新输出该数组的所有元素

解析:

main()

{int i,n,m

int a[8]={1,2,3,4,5,6,7,8}/*可以自己定义的,这裂瞎里为了方便*/

printf("\nthe original array a:")

for(i=0i<8i++)

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=8i>ni--)

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=0i<9i++)

printf("%-2d",a[i])

printf("\n")

}

C语言中,数组是一组连续的相同类型的数据集合。 所以要在数组中插入元素,需要按照以下步骤:

1、找到插入点;

2、将插入点所在元素,及之后的所有元素,都向后移动一个单位;

3、将插入点赋值为要插入的元素。

以固定位置插入,代码举例如下:

#include <stdio.h>

void insert(int *a, int n, int i, int v)

//将长度为返蚂n的数组a, 下标为i的位置插入值为v的元素。 插入后,数组长度为n+1.

{

    int j

    for(j = n-1 j>=i j --)//将i及以后的后移一位。 由于是固定位置插入,所以不需要查找插入位置。 

        激高a[j+1] = a[j]

    a[i] = v//插入元素。 

}

int main()

{

    int a[5] 漏铅埋= {1,3,6,7}/五个元素数组,初始化四个值。

    int i

    

    insert(a, 4, 2, 5)//将5插入到a[2]位置。 

    for(i = 0 i < 5 i ++)

        printf("%d ", a[i])//输出结果,为1 3 5 6 7 

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11975774.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存