一个小c++程序

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:20:44
对于一个数组a[10]="123456789"
在第i个 元素前 插入 值为x 的元素

算法大概这样:
输入一个插入点i(比如i=2,既是从第2个元素前插入),把从第i个开始的元素后移。
输入需要插入的字符x。将x插入到移除的空位(i)。

在右移元素和插入元素之前首先应判断该表是否已经是满表,且i的值必须在1~L.len+1之间

用C++ 自己写了一个,但是找不出来错误。
#include "stdafx.h"
#include "sz.h"
#include <string.h>

char c_a[10];
void main()
{

SCAN_ARRAY();
PRINT_ARRAY();
INSERT_ARRAY();
PRINT_ARRAY();
}

//
SCAN_ARRAY()
{
int i=0;
for(i;i<10;i++)
{
c_a[i]=getchar();
}
}

PRINT_ARRAY()
{
int j=0;
for (j;j<10;j++)
{
cout<<c_a[j];

}
}

//insert forward
INSERT_ARRAY()
{
//cin the insert place (>=1,<=the last element)
int m=0;
int n=0;
char c;

cout<<"insert place";
cin>>m;
//m=m-1;//i

运行了一下,因为你一下子就满了,没法测试插入
void SCAN_ARRAY()
{
int i=0;
for(i;i<10;i++)
{
c_a[i]=getchar();
fflush(stdin);
}
}
这样你就可以输入10个字符了