顺序表从键盘输入数据会输入结束符


 bool listAdd2(seqList* L) {
    if (L->listLen == max)
        return false;
    else {
        element x = 1;
         while (1) {
            if (x == 9999)
                break;
            else {
                cin >> x;
                L->data[L->listLen++] = x;
            }
        }
        return true;
    }
}

bool listAdd(seqList* L) {
    if (L->listLen == max)
        return false;
    else {
        element x = 1;
        cout << "请输入一组数据:(9999退出)";
           while (x != 9999) {
            cin >> x;
            L->data[L->listLen++] = x; 
        }
        return true;
    }
}

上面两个都是给顺序表从键盘输入一组数据的函数,以9999作为结束符,但是我不想把9999写入顺序表里,想知道该怎么改进呢

img


就比如这种求L1,L2表交集的程序,结果还是会出现9999,说明9999写进这两个表里了阿。

cin >> x;
if (x == 9999) break;


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^