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
}
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
新增一个数组元素
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")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)