没有 LIB 和字符串文件我该如何编写这段代码?

发布于 2024-08-29 00:25:49 字数 1213 浏览 5 评论 0原文

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

struct Node;
typedef struct Node * PtrToNode;

struct Node
{
    char element;
    PtrToNode Next;
};

PtrToNode MakeEmpty(PtrToNode L)
{
    L= new(Node);
    L->Next=NULL;
    return L;
}

void Push(PtrToNode L,char x)
{
    PtrToNode S;
    S= new(Node);
    S->element=x;
    S->Next=L->Next;
    L->Next=S;
}

char Pop(PtrToNode L)
{
    PtrToNode P;
    P=L->Next;
    char x=P->element;
    L->Next=P->Next;
    free(P);
    return x;
}

int main()
{
    PtrToNode L;
    L= MakeEmpty(NULL);
    char Input[1000];
    int i;
    printf("please enter your equation:");
    scanf("%s",Input);

    for (i = 0;i<strlen(Input);i++)
    {
        if (Input[i]=='(')
        {
            Push(L,Input[i]);
        }
        if (Input[i]==')')
        {
            if (L->Next==NULL)
            {
                printf("incorrect");
                return 0;
            }
            else
                Pop(L);
        }



    }
    if (L->Next==NULL)
        printf("correct");
    else
        printf("incorrect");
    getch();
    return 0;
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

struct Node;
typedef struct Node * PtrToNode;

struct Node
{
    char element;
    PtrToNode Next;
};

PtrToNode MakeEmpty(PtrToNode L)
{
    L= new(Node);
    L->Next=NULL;
    return L;
}

void Push(PtrToNode L,char x)
{
    PtrToNode S;
    S= new(Node);
    S->element=x;
    S->Next=L->Next;
    L->Next=S;
}

char Pop(PtrToNode L)
{
    PtrToNode P;
    P=L->Next;
    char x=P->element;
    L->Next=P->Next;
    free(P);
    return x;
}

int main()
{
    PtrToNode L;
    L= MakeEmpty(NULL);
    char Input[1000];
    int i;
    printf("please enter your equation:");
    scanf("%s",Input);

    for (i = 0;i<strlen(Input);i++)
    {
        if (Input[i]=='(')
        {
            Push(L,Input[i]);
        }
        if (Input[i]==')')
        {
            if (L->Next==NULL)
            {
                printf("incorrect");
                return 0;
            }
            else
                Pop(L);
        }



    }
    if (L->Next==NULL)
        printf("correct");
    else
        printf("incorrect");
    getch();
    return 0;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半透明的墙 2024-09-05 00:25:49

您必须找到用于字符串和内存处理的替代库,或者自己编写代码。考虑到所有这些库(除了 conio 之外)都是标准的,我找不到省略它们的目的。

You'd have to find alternative libraries for string and memory handling, or code them up yourself. Considering all those libs, save for conio, are standard, I can't find a purpose for omitting them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文