qq_39226270 2017-06-20 09:20 采纳率: 100%
浏览 653
已结题

可以输入输出很多类型的值最好是可以输入输出汉字,最好能在我给的上面改,如果不行用C写个新的也行。

/*设计一个简单的文字编辑器,使其具有删除打错字符的功能*/
/*约定:@表示删除前面一个字符,#表示删除前面所有字符,$表示编辑结束*/
#include < stdio.h >
#define maxsize 64
typedef struct
{
void* data[maxsize];
int top;
}seqstack;
void SETNULL(seqstack *s) {
s->top = -1;
}
int EMPTY(seqstack *s) {

if (s->top >= 0)
    return 0;
else
    return 1;

}
char POP(seqstack *s)
{

if (EMPTY(s))
{
    printf("underflow");
    return NULL;
}
else
{
    return s->data[s->top--];
}

}
seqstack *PUSH(seqstack *s, char x) {

int i;
if (s->top == maxsize - 1)
{
    printf("overflow");
    return NULL;
}
else
{

    s->top++;
    s->data[s->top] = x;
}
return s;

}
void shuchu(seqstack *s) {

int i = -1;
printf("字符为\n");
while (i != s->top) {
    printf("%c\t", s->data[i + 1]);
    i++;
}
printf("\n");

}
void EDIT(seqstack *s)
{
char c;
SETNULL(s);

c = getchar();

while (c != '$')
{

    if (c == '@') {
        POP(s);

    }
    else if (c == '#') {
        SETNULL(s);

    }
    else {

        PUSH(s, c);

    }
    getchar();
    shuchu(s);

    c = getchar();

}

}
void main()
{
seqstack s;s=(seqstack *)malloc(sizeof(int)(maxsize+1));
EDIT(s);
free(s);
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!
    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
    • ¥15 求daily translation(DT)偏差订正方法的代码
    • ¥15 js调用html页面需要隐藏某个按钮