a2563039540 2022-09-28 22:27 采纳率: 66.7%
浏览 41

吉林大学c语言,括号匹配问题

img


请问只能用栈做吗,我们还没学

问题遇到的现象和发生背景 写吉林大学数组实验设计时遇到的问题
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容 检查点一直通过不了
我的解答思路和尝试过的方法 #include <stdio.h>
int main(void) {

    int a = 1;

    char ch[100];

    int fg1 = 1, fg2 = 1, fg3 = 1;

    int i = 0;

    while (a = 1) {

        scanf_s("%c", &ch[i]);

        getchar();

        i++;

        if (ch[i - 1] == '@') {
            break;
        }
    }

    for (int j = 0; j < i; j++) {

        if (ch[j] == '(') {

            fg1 = 1;

            for (int k = j + 1; k < i; k++) {

                if (ch[k] == ')') {

                    fg1 = 1;

                    ch[k] = 'a';

                    break;

                }

            }

        }

        if (ch[j] == '[') {

            fg2 = 0;

            for (int k = j + 1; k < i; k++) {

                if (ch[k] == ']') {

                    fg2 = 1;

                    ch[k] = 'a';

                    break;

                }

            }

        }

        if (ch[j] == '{') {

            fg3 = 0;

            for (int k = j + 1; k < i; k++) {

                if (ch[k] == '}') {

                    fg3 = 1;

                    ch[k] = 'a';

                    break;

                }

            }

        }

    }

    if (fg1 == 0 || fg2 == 0 || fg3 == 0||i>100) {

        printf("NO");

    }
    else printf("YES");

    return 0;

}

  • 写回答

3条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2022-09-28 22:38
    关注

    请说一下你测试的输入,输出都是什么。

    评论

报告相同问题?

问题事件

  • 修改了问题 9月28日
  • 修改了问题 9月28日
  • 修改了问题 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)
  • ¥20 关于#stm32#的问题:STM32串口发送问题,偶校验(even),发送5A 41 FB 20.烧录程序后发现串口助手读到的是5A 41 7B A0
  • ¥15 C++map释放不掉
  • ¥15 Mabatis查询数据
  • ¥15 想知道lingo目标函数中求和公式上标是变量情况如何求解
  • ¥15 关于E22-400T22S的LORA模块的通信问题
  • ¥15 求用二阶有源低通滤波将3khz方波转为正弦波的电路