青河丶 2015-10-27 15:27 采纳率: 0%
浏览 1673

菜鸟求救,这个程序,做ACM题目时两个pass,三个错了,提示是unknown error。。。

#include
#include
#include
#define MAXSIZE 1000
static int h[MAXSIZE];
int k = 0, x=0;
typedef int datatype;
typedef struct
{
datatype a[MAXSIZE];
int size;

}seq_list;
void init(seq_list *L)
{
L->size = 0;
}
void Insert(int number,seq_list *L)
{
L->a[L->size] = number;
L->size = L->size + 1;
x++;
}
void Delete(int pos, seq_list *L,int n)
{
int i;
x++;
if (L->size == 0 || pos > L->size)
{
h[k] = x;
k++;
}
for (i = pos-1 ; i < L->size; i++)
{
L->a[i] = L->a[i + 1];
L->size--;
}

}
void put(seq_list *L)
{
int i;
if (L->size == 0)
printf("None.");
else
for (i = 0; i < L->size; i++)
printf("%d ", L->a[i]);
}
int main()
{
char p[1000][7];
int m,j,num[MAXSIZE];
seq_list L;
init(&L);
scanf("%d", &m);
x++;
while (m != 0)
{
for (j = 0; j < m; j++)
{
scanf("%s%d", p[j], &num[j]);
if (strcmp(p[j], "Insert") == 0)
Insert(num[j], &L);
else
Delete(num[j], &L, j + 1);
}
scanf("%d", &m);
x++;
}
k = 0;
while (h[k] != 0)
{
printf("Error(line #%d): element does not exist.\n", h[k]);
k++;
}
put(&L);
system("pause");
return 0;
}
题目描述
实现对一个顺序表的元素的插入与删除。

输入描述
  输入数据有多组。每组第一行输入一个数字m(m<=1000),表示有m个操作。接下来有m行,每行代表一次操作。一共有两种操作,即插入与删除。
  插入操作的输入格式:Insert number。表示在顺序表尾插入一个元素number。
  删除操作的输入格式:Delete pos。表示删除第pos个元素。
  测试数据保证插入操作必然合法,但不保证删除操作一定合法,即可能要求删除的位置没有元素。(顺序表第一个元素的位置为1,其中顺序表的元素均为整数。)
  当m=0时输入结束。

输出描述
  当删除操作不合法时,需要输出”Error(line #i): element does not exist.”其中#i表示第几行的操作,每次输出占一行。
  所有操作完成后,输出顺序表中的元素,每个元素用一个空格隔开,最后一个元素后面能有空格。
  若最终线性表中没有元素则输出”None.”。

输入样例
7
Insert 4
Insert 3
Delete 2
Delete 2
Insert 9
Delete 1
Insert 6
0

输出样例
Error(line #4): element does not exist.
9 6

  • 写回答

2条回答 默认 最新

  • devmiao 2015-10-27 15:57
    关注

    元素不存在,看下具体的错误呢

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器