精华内容
下载资源
问答
  • 符号配对代码

    2016-12-16 11:00:43
    符号配对,菜鸟代码
  • 符号配对

    千次阅读 2019-09-28 00:14:54
    请编写程序检查C语言源程序中下列符号...首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-...

    请编写程序检查C语言源程序中下列符号是否配对://、(与)、[与]、{与}。

    输入格式:
    输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。

    输出格式:
    首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。

    我的思绪

    一开始看到这个题,就知道使用栈——因为之前了解过编译器的一些括号对齐原理。
    只不过,这道题目出的太含糊了,好多东西都没有交代清楚,容易使人走弯路,你必须像出题人期待的那个水平和想法去敲代码,否则不会通过的。就像……八股?我这么认为这道题目,太死板而且含糊了。

    1 没有明确“第一个”是什么意思。第一个不匹配的括号,啥意思?

    我的同学有敲了好几个小时的实在是过不了点,就知道想法肯定和出题人不一样,于是找了一段ac代码,运行一下发现了以下几个案例:
    {(】,按照常理来说,应该输出{(人类视角)或者】(计算机视角),但是运行结果是(。
    实际上这道题目输出的错误处,不同人会有不同的理解,所以就算有大佬来敲,可能也会摸索很长一段时间。
    那么,出题人什么意思呢?
    出题人:只要栈不为空,就给我输出弹出的那个括号不匹配。如果栈空了,在按照你碰到的应该弹出一个的括号去输出。
    对此,我只想说一句呵呵→_→ 要不是同学来找我讨论,我真的会用计算机视角做这道题目,那今天天亮之前绝对做不出来,更写不出这篇博客。

    2 没有说明一些复杂的样例不用考虑。

    第一次看到这个题目,我构思出来的测试样例中有这么一组:
    printf("((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((");
    输出什么?应该输出YES吧,没有不配对的。
    可如果这样,这道题目就复杂了,应该出现在竞赛题目上面,而不是日常的PTA里。
    我靠,这我特么到底是做还是不做?
    郁闷了几分钟,才猜着它不考虑这种情况来敲代码。

    3 我的代码

    //这次本九熬夜给你们写注释!!!
    //这次本九熬夜给你们写注释!!!
    //这次本九熬夜给你们写注释!!!

    我的思路和大部分人一样,用栈实现。
    感谢打开了C++,可以直接使用stl了。

    #include<iostream>
    #include<string>
    #include<stack>
    using namespace std;
    int main() {
    	string s;
    	char b[7];
    	b[1] = '('; b[2] = ')'; b[3] = '['; b[4] = ']'; b[5] = '{'; b[6] = '}';//用来存储括号,省掉三分之二的代码量。如果你代码超过100行了,那很有可能是因为用了6个if而不是2个。
    	int find = 0;
    	bool isasimple = false;
    	stack<char> bracket;//特地百度了一下括号的英文单词,就用他做栈名字吧。
    	while (1) {
    		getline(cin, s);
    		if (s==".") goto zoulou;//当结束时,直接“zoulou”(走咯)
    		for (int i = 0; i < s.length(); i++) {//*/是两个字符比较特殊,单独讨论
    			if (s[i] == '/' && 1 + i < s.length())
    				if (s[i + 1] == '*') {
    					bracket.push(s[i]);//我们将两个字符以/的形式保存,这样方便
    					i++;//因为这时候是两个字符
    					continue;
    				}
    			if (s[i] == '*' && 1 + i < s.length())
    				if (s[i + 1] == '/')
    				{
    					if (bracket.empty()) {
    						cout << "NO" << endl << "?-*/" << endl;
    						return 0;
    					}
    					else {
    						if (bracket.top() != '/') {
    							cout << "NO" << endl << bracket.top() << "-?" << endl;
    							return 0;
    						}
    						else {
    							bracket.pop();
    							i++;//弹栈是弹一个,但是让栈弹的却是两个字符
    							continue;
    						}
    					}
    				}
    			isasimple = false;
    			for (find = 1; find <= 6; find++) {
    				if (b[find] == s[i]) {//找一下是不是剩余的六个字符
    					isasimple = true; break;
    				}
    			}
    			if (isasimple) {
    				if (find % 2 == 1) {
    					bracket.push(s[i]);
    					continue;
    				}
    				else {
    					if (bracket.empty()) {
    						cout << "NO" << endl << "?-" << b[find] << endl;
    						return 0;
    					}
    					else {
    						if (bracket.top() == '/') {
    							cout << "NO" << endl <<"/*-?" << endl;
    							return 0;
    						}
    						else if (bracket.top() != b[find - 1]) {
    							cout << "NO" << endl << bracket.top() << "-?" << endl;
    							return 0;
    						}
    						else {
    							bracket.pop();
    							continue;
    						}
    					}
    				}
    			}
    		}
    	}
    zoulou:
    	if (bracket.empty()) {//走咯之后还没完,如果栈不是空的,也还会出错。
    		cout << "YES" << endl;
    	}
    	else {
    		cout << "NO" << endl << bracket.top() << "-?" << endl;
    	}
    	return 0;
    }
    
    
    展开全文
  • PTA 符号配对

    2019-10-06 13:50:41
    PTA 符号配对 题目 请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查...

    PTA 符号配对

    题目

    请编写程序检查C语言源程序中下列符号是否配对://、(与)、[与]、{与}。
    输入格式:
    输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。
    输出格式:
    首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。
    输入样例1:
    void test()
    {
    int i, A[10];
    for (i=0; i<10; i++) / * /
    A[i] = i;
    }
    .
    输出样例1:
    NO
    /-?
    输入样例2:
    void test()
    {
    int i, A[10];
    for (i=0; i<10; i++)/** /
    A[i] = i;
    }]
    .
    输出样例2:
    NO
    ?-]
    输入样例3:
    void test()
    {
    int i
    double A[10];
    for (i=0; i<10; i++) /**/
    A[i] = 0.1
    i;
    }
    .
    输出样例3:
    YES

    源码

    #include<iostream>
    using namespace std;
    const int STACK_MAX_SIZE = 200;//栈容量
    int stack[STACK_MAX_SIZE];//栈 1/* 2( 3[ 4{ 5右注释 6) 7] 8}
    int top = 0;//栈顶
    int Push(char c) {//返回值0:普通字符,1:缺右符号,2:缺左符号
     int ret = 0;
     char ch;
     switch (c) {
      case '/':
       if ((ch = getchar()) == '*')  stack[top++] = 1;
       else ret = Push(ch);
       break;
      case '(':
       stack[top++] = 2;
       break;
      case '[':
       stack[top++] = 3;
       break;
      case '{':
       stack[top++] = 4;
       break;
      case '*':
       ch = getchar();
       if (ch == '/') {
        if (stack[top - 1] == 1) top--;//匹配成功,销毁一对
        else if (top == 0) {
         stack[top++] = 1;
         ret = 2;
        }
        else ret = 1;
       }
       else ret = Push(ch);
       break;
      case ')':
       if (stack[top - 1] == 2) top--;//匹配成功,销毁一对
       else if (top == 0) {
        stack[top++] = 2;
        ret = 2;
       }
       else ret = 1;
       break;
      case ']':
       if (stack[top - 1] == 3) top--;
       else if (top == 0) {
        stack[top++] = 3;
        ret = 2;
       }
       else ret = 1;
       break;
      case '}':
       if (stack[top - 1] == 4) top--;
       else if (top == 0) {
        stack[top++] = 4;
        ret = 2;
       }
       else ret = 1;
       break;
      default :
       ret = 0;
     }
     return ret;
    }
    int main() {
     char c='\n';
     int flag;
     while (1) {
      if (c == '\n') {
       c = getchar();
       if (c == '.') {
        c = getchar();
        if (c == '\n') break;//结束
       }
      }
      flag=Push(c);
      if (flag == 1) {
       cout << "NO" << endl;
       switch (stack[top - 1]) {
       case 1:
        cout << "/*";
        break;
       case 2:
        cout << "(";
        break;
       case 3:
        cout << "[";
        break;
       case 4:
        cout << '{';
        break;
       }
       cout << "-?" << endl;
       return 0;
      }
      else if (flag == 2) {
       cout << "NO\n?-";
       switch (stack[0]) {
       case 1:
        cout << "*/";
        break;
       case 2:
        cout << ')';
        break;
       case 3:
        cout << ']';
        break;
       case 4:
        cout << '}';
        break;
       }
       return 0;
      }
      c = getchar();
     }
     if(top==0) cout << "YES" << endl;
     else {
      cout << "NO" << endl;
      switch (stack[top - 1]) {
      case 1:
       cout << "/*";
       break;
      case 2:
       cout << "(";
       break;
      case 3:
       cout << "[";
       break;
      case 4:
       cout << '{';
       break;
      }
      cout << "-?" << endl;
     }
     return 0;
    }
    展开全文
  • 数据结构-符号配对

    2021-04-24 19:08:03
    首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。 输入样例1: void test() { int i,...

    请编写程序检查C语言源程序中下列符号是否配对:/**/()[]{}

    输入格式:

    输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。

    输出格式:

    首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?

    输入样例1:

    void test()
    {
        int i, A[10];
        for (i=0; i<10; i++) /*/
            A[i] = i;
    }
    .
    

    输出样例1:

    NO
    /*-?

     输入样例2:

    void test()
    {
        int i, A[10];
        for (i=0; i<10; i++) /**/
            A[i] = i;
    }]
    .
    

    输出样例2:

    NO
    ?-]

    输入样例3:

    void test()
    {
        int i
        double A[10];
        for (i=0; i<10; i++) /**/
            A[i] = 0.1*i;
    }
    .
    

    输出样例3:

    YES

     

    #include <iostream>
    #include <vector>
    #include <stack>
    #include <queue>
    #include <string>
    using namespace std;
    vector<char> kh;
    
    void print(char c)
    {
        cout << "NO" << endl;
        if (c == '(') cout << "(-?";
        else if(c=='[') cout << "[-?";
        else if (c == '{') cout << "{-?";
        else if (c == '*') cout << "/*-?";
    }
    
    
    bool isOK(string str)
    {
        int len = str.length();
        for (int i = 0; i < len; i++)
        {
            if (str[i] == '(' || str[i] == '[' || str[i] == '{')
            {  //如果有左括号,则存入栈中 
                kh.push_back(str[i]);
            }
            else if (i < len - 1 && str[i] == '/' && str[i + 1] == '*')
            {
                kh.push_back(str[i]);
                kh.push_back(str[i + 1]);
                i++;
            }
            else if (str[i] == ')')
            {  //若出现了右括号,则top应该有和它对应得左括号 
                if (kh.empty())
                {
                    cout << "NO\n?-)";
                    return false;
                }
                else if (kh.back() != '(')
                {
                    print(kh.back());
                    return false;
                }
                kh.pop_back();   //取出对应的左括号 
            }
            // 一下重复[ , {;
            else if (str[i] == ']')
            {
                if (kh.empty())
                {
                    cout << "NO\n?-]";
                    return false;
                }
                else if (kh.back() != '[')
                {
                    print(kh.back());
                    return false;
                }
                kh.pop_back();
            }
            else if (str[i] == '}')
            {
                if (kh.empty())
                {
                    cout << "NO\n?-}";
                    return false;
                }
                else if ( kh.back() != '{')
                {
                    print(kh.back());
                    return false;
                }
                kh.pop_back();
            }
            else if (i < len - 1 && str[i] == '*' && str[i + 1] == '/')
            {
                i++;
                if (kh.empty())
                {
                    cout << "NO\n?-*/";
                    return false;
                }
                else if (kh.back() != '*')
                {
                    print(kh.back());
                    return false;
                }
                kh.pop_back();
                kh.pop_back();
            }
        }
            return true;
    }
    
    
    int main()
    {
        string str;
        while (true)
        {
            getline(cin, str);
            if (str == ".") break;
            if (!isOK(str)) return 0;
        }
        if (kh.empty()) cout << "YES";
        else
        {
            cout<<"NO"<<endl;
            if(kh[0]=='/') cout<<"/*-?";
            else cout<<kh[0]<<"-?";
        }
        return 0;
    }
    做题时出现的问题:
    1 、有且只有将字符串全部遍历一遍且栈为空,输出 YES
    2 NO 的情况
    (1) 当出现右括号且栈为空的情况下,输出 ”?-(str[ i ])”
    (2) 当出现右括号且栈不为空的情况 , 则对应的是栈顶为第一个出现不匹配的符号,输出 ”(str[ i ])-?”
    (3) 当字符串遍历完了,但栈不为空的情况, ( 因为入栈了,所以为左括号 ) ,输出 ”( 栈底 )-?”
    展开全文
  • 符号配对(Java)

    2020-01-17 17:30:42
    请编写程序检查C语言源程序中下列符号是否配对:/*...首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则...

    请编写程序检查C语言源程序中下列符号是否配对:/**/()[]{}

    输入格式:

    输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。

    输出格式:

    首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?

    输入样例1:

    void test()
    {
        int i, A[10];
        for (i=0; i<10; i++) /*/
            A[i] = i;
    }
    .
    
    

    输出样例1:

    NO
    /*-?
    

    输入样例2:

    void test()
    {
        int i, A[10];
        for (i=0; i<10; i++) /**/
            A[i] = i;
    }]
    .
    
    

    输出样例2:

    NO
    ?-]
    

    输入样例3:

    void test()
    {
        int i
        double A[10];
        for (i=0; i<10; i++) /**/
            A[i] = 0.1*i;
    }
    .
    
    

    输出样例3:

    YES

     本题思路:

    对于符号配对类问题我想到的就是用栈来做,在本题中我用ArrayList来模拟栈操作对符号进行匹配,其中/**/()[]{}分别对应-1与1、-2与2、-3与3、-4与4。

    代码:

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.*;
    public class Main {
    	public static void main(String[] args) throws IOException {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		ArrayList<Integer> fh = new ArrayList<Integer>();
    		String str = br.readLine();
    		while(!".".equals(str)) {
    			for(int i=0, size=str.length();i<size;i++) {
    				char ch = str.charAt(i);
    				if('/'==ch) {
    					if(i+1<size && '*'==str.charAt(i+1)) {
    						fh.add(1);
    					}
    				}
    				else if('('==ch) {
    					fh.add(2);
    				}
    				else if('['==ch) {
    					fh.add(3);
    				}
    				else if('{'==ch) {
    					fh.add(4);
    				}
    				//反向
    				else if('*'==ch) {
    					if(i-1>=0 && '/'!=str.charAt(i-1)
    							 && i+1<size && '/'==str.charAt(i+1)) {
    						if(fh.isEmpty()) {
    							System.out.println("NO");
    							System.out.println("?-*/");
    							System.exit(0);
    						}
    						else if(fh.get(fh.size()-1)==1)
    							fh.remove(fh.size()-1);
    						else 
    							break;
    					}
    				}
    				else if(')'==ch) {
    					if(fh.isEmpty()) {
    						System.out.println("NO");
    						System.out.println("?-)");
    						System.exit(0);
    					}
    					else if(fh.get(fh.size()-1)==2)
    						fh.remove(fh.size()-1);
    					else 
    						break;
    				}
    				else if(']'==ch) {
    					if(fh.isEmpty()) {
    						System.out.println("NO");
    						System.out.println("?-]");
    						System.exit(0);
    					}
    					else if(fh.get(fh.size()-1)==3)
    						fh.remove(fh.size()-1);
    					else 
    						break;
    				}
    				else if('}'==ch) {
    					if(fh.isEmpty()) {
    						System.out.println("NO");
    						System.out.println("?-}");
    						System.exit(0);
    					}
    					else if(fh.get(fh.size()-1)==4)
    						fh.remove(fh.size()-1);
    					else 
    						break;
    				}
    			}
    			str = br.readLine();
    		}
    		if(fh.isEmpty()) {
    			System.out.println("YES");
    		}
    		else {
    			System.out.println("NO");
    			int judge = fh.get(fh.size()-1);
    			if(judge == 1)
    				System.out.println("/*-?");
    			else if(judge == 2)
    				System.out.println("(-?");
    			else if(judge == 3)
    				System.out.println("[-?");
    			else if(judge == 4)
    				System.out.println("{-?");
    		}
    	}
    }
    

     

    展开全文
  • 标签:题目:请编写程序检查C语言源...输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出...
  • 符号配对 (20 分)

    2019-09-27 23:46:09
    符号配对 (20 分) 思路: 1、将数据全部都读入,然后预处理为只有(),{},[],/*/的形式。 2、利用栈来判断是否相符 其实本题的难点也是这两方面,读入数据.和\n比较麻烦。可以同getchar()和字符数组来处理。 二...
  • 7-3 符号配对 (20分)

    2021-05-22 06:48:11
    7-3符号配对(20分)请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对...
  • 符号配对 请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不...
  • 5-4符号配对(20分)请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对...
  • 7-3符号配对(20 分)请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对...
  • PTA作业7-17 符号配对

    2020-09-29 17:03:26
    7-17 符号配对 (20分) 请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查...
  • 2-4 符号配对 (20 分) 请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要...
  • 7-1 符号配对 (30分) 请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查...
  • PTA符号配对

    2019-10-05 13:25:38
    import java.util.Scanner; import java.util.Stack; public class Main { private static final char LEFT_XIAO = '('; private static final char RIGFHT_XIAO = ')';... private static ...
  • 首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。 输入样例1: void test() { int i, A...
  • 7-5 符号配对 (20 分)

    千次阅读 多人点赞 2019-04-30 17:02:56
    请编写程序检查C语言源程序中下列符号...首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-...
  • 符号配对 (20分)

    千次阅读 2020-06-22 20:45:12
    首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。 输入样例1: void test() { int i, A...
  • 请编写程序检查C语言源程序...输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。...
  • 习题3.8 符号配对 (20 分) 请编写程序检查C语言源程序中下列符号是否配对:/* 与 */、( 与 )、[ 与 ]、{ 与 }。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。...
  • 7-2符号配对(20分)请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对...
  • PTA 7-1 符号配对 (20分)解析

    千次阅读 2020-03-12 15:31:24
    请编写程序检查C语言源程序中下列符号...首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-...
  • C语言 符号配对 (20分)

    千次阅读 2020-03-05 17:06:13
    符号配对(20分) 请编写程序检查C语言源程序中下列符号是否配对:/*与*/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查...
  • 2-8 符号配对 (20 分)

    2021-11-27 16:03:12
    2-8 符号配对 (20 分) 请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。 输入格式: 输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查...
  • 符号配对 (20 分)

    千次阅读 2018-09-29 19:46:19
    请编写程序检查C语言源程序中下列符号是否配对: /* 与 */、( ...首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少...
  • 首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。 题目思路:看到符号匹配问题,直接...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,345
精华内容 9,738
关键字:

符号配对

友情链接: Dlg_PrintTest.zip