⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 魔王语言.c

📁 实现魔王语言程序
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#define MAXQUEUE 200
/*本程序是一个魔王语言程序*/
int queue[MAXQUEUE];
int front=-1;
int rear=-1;
int EnQueue(char value)           /*进队*/
{
        if(rear>=MAXQUEUE) return -1;            /*队满*/
        queue[++rear]=value;
}
char DeQueue()                     /*出队*/
{
        return queue[++front];
}
void main()
{
        int i=0;
        char e,g;
        char reverse[50];
        char str[100], *get_str=str;
        printf("请输入魔王语言:");
        gets(str);
        while(*get_str!='\0')EnQueue(*get_str++);
        while(front!=rear)                       /*判断队列是否为空*/
        {
          g=DeQueue();
          if(g=='(')
    {
     i=0;
     e=DeQueue();                 /*将括号内的第一个元素赋值给e */
     while((g=DeQueue())!=')')    /*对括号内的元素进行逆置并存入数组*/
     {
      reverse[i++]=g;
     }
   i--;
   while(i>=0)                  /*打印括号内元素*/
   {
    if(e=='A') printf("sae");
    else if(e==')') continue;
    else if(e=='B') printf("tsaedsae");
         else printf("%c",e);         if(reverse[i]=='A') printf("sae");
      else if(reverse[i]=='B') printf("tsaedsae");
     else printf("%c",reverse[i]);
             i--;
   }
    }
         if(g=='A')printf("sae");  /*当元素为A,B的情况*/
   else if(g==')') continue;
     else if(g=='B') printf("tsaedsae");
        else printf("%c",g);
  
        }
  printf("\n");
  getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -