很简单利用C语言中的动态数组就可以搞定
举个例子
#include <stdio.h>#include <stdlib.h>
#include <malloc.h>
#include <time.h>
int main()
{
srand((unsigned)time(NULL))
int n
int new_number
printf("please input a number:\n")
scanf("%d",&n)
int *p = (int *)malloc(n*sizeof(int))
for (int i=0i<ni++)
{
p[i] = rand()%100
}
printf("the array is:\n")
for (int i=0i<ni++)
{
printf("%d\t",p[i])
}
printf("add a new number to array:\n")
scanf("%d",&new_number)
int *q = (int *)realloc(p,(n+1)*sizeof(int))
q[n] = new_number
printf("after add a new number the array is:\n")
for (int i=0i<n+1i++)
{
printf("%d\t",q[i])
}
free(q)
system("pause")
return 0
}
通过动态数组就可以在原本已经满的数组后面继续添加元素
插入元素必须需要数组元素要比元素个数多,给出如下例:#include <iostream>
using namespace std
int main()
{
int arr[100]//声明数组;
int n
cout<<"请输入元素的个数:"
cin>>n//有多少个数组元素
cout<<"请输入元素:"
for(int i=0i<ni++)
{
cin>>arr[i]
}
sort(arr,arr+n)//对数组进行从小到大排序
cout<<"请输入要插入的元素"<<endl
cin>>arr[n]
sort(arr,arr+n+1)//对插入的元素进行从小到大排序
cout<<"排序后的元素:"
for(int i=0i<ni++)
{
cout<<arr[i]<<" "
}
cout<<arr[n]<<endl
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)