用c++语言编写程序在一维数组中插入一个数
#include<iostream>
#include <string>
using namespace std;
#include <stdio.h> //兼容 c
int main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,0}; // 假定已知一维数组数据
int i,L;
int p,v;
cout << "input location 0 or 1,2,3...10:"<< endl;
cin>>p; // 输入 下标 位置
cout << "the value you want to insert:" << endl;
cin >> v; // 输入插入的值
L = sizeof(a)/sizeof(int);
for (i=L-1;i>p;i--) a[i]=a[i-1]; //挪动受影响的元素
a[p]=v; // 插入
for (i=0;i<L;i++)printf("a[%d]=%d\n",i,a[i]); // 输出结果
return 0;
}
#include <string>
using namespace std;
#include <stdio.h> //兼容 c
int main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,0}; // 假定已知一维数组数据
int i,L;
int p,v;
cout << "input location 0 or 1,2,3...10:"<< endl;
cin>>p; // 输入 下标 位置
cout << "the value you want to insert:" << endl;
cin >> v; // 输入插入的值
L = sizeof(a)/sizeof(int);
for (i=L-1;i>p;i--) a[i]=a[i-1]; //挪动受影响的元素
a[p]=v; // 插入
for (i=0;i<L;i++)printf("a[%d]=%d\n",i,a[i]); // 输出结果
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-09-03
再创建一个一维数组,容积比这个大一个.
然后用memcpy函数进行复制前面一部分.
接着对要插入的地方进行赋值
再memcpy 复制后面的部分.本回答被网友采纳
然后用memcpy函数进行复制前面一部分.
接着对要插入的地方进行赋值
再memcpy 复制后面的部分.本回答被网友采纳
第2个回答 2017-09-02
这个简单,例:
int buffer[10]={0};
buffer[0]=2;
int buffer[10]={0};
buffer[0]=2;