2 ylxd41 ylxd41 于 2016.09.15 19:53 提问

麻烦各位给看看呗,顶一下。括号配对

// acm 括号配对.cpp : 定义控制台应用程序的入口点。
//输入样本个数和括号样本,看括号是否可以配成对
例如输入())为错误,()()为正确

#include "stdafx.h"
#include

int _tmain(int argc, _TCHAR* argv[])
{
int n;
char*p;
int s;
char name[21];
p=name;
printf("请输入样本个数:");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("请输入测试样本:");
scanf("%s",&name);
s=strlen(name);
if(s%2!=0)//若输入样本为基数则不可能配对
printf("wrong\n");
else
for(int w=0;w<s;w++)
{
if(*(p+w)==(*(p+s)-w-2))//按顺序进行扫描字符
continue;
else
printf("wrong\n");
}
printf("right\n");
}
return 0;
}

3个回答

caozhy
caozhy   Ds   Rxr 2016.09.15 23:46
ylxd41
ylxd41 谢谢 不过您方便说一下我的错哪里了吗?
接近 2 年之前 回复
Lmikic
Lmikic   2016.09.16 15:42

for(int i=0;i<n;i++)
{
printf("请输入测试样本:");
scanf("%s",&name);

上面这段代码中,如果输入的括号中没有空格间隔的话,不需要循环;还有就是,scanf中的name前面不需要加地址符,因为name已经是一个字符数组了

Lmikic
Lmikic   2016.09.16 15:44

这多说一点:这题用线性栈做会更好点

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
.NET中“顶一下”/“踩一下”单次操作的实现
如何在.NET中实现“顶一下”/“踩一下”单次操作(源码)
Python括号配对 水
题目要求为输入一段文字,判断其中蕴含的括号是否配对 先给出输入公式时可行的解决方案,因为在公式中,如r=a(1-sin(θ)),括号不会交叉 aim=input('') def check(string): err=0 model=[] for l in string: if l=
[NYOJ] 02括号配对问题(c语言链栈实现)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0 输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对
求最长有效匹配括号子串的长度(Longest Valid Parentheses)
Longest Valid Parentheses (求最长有效匹配括号子串的长度) 题目描述:Given a string containing just the characters’(’ and’)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest
【南阳理工OJ】2--括号配对问题(栈与队列)
括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0 输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No 样例输入 3 [(]) (]) ([[]()]) 样例输出 No No Yes
nyoj括号配对问题
括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入 3 [(]) (]) ([[]()]) 样例输出 No No Yes #inc
括号配对问题 (南阳理工oj-题目2)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0 输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输
C语言 括号 配对 不相交
题目如下: 判断一个字符序列中(与)、[与]、{与}是否配对且互不相交 分析: 如果只要求配对的话,直接统计这些字符的两两对应数目是否相等即可, 但关键点在于互不相交,互不相交是什么意思呢,离得最近的左右括号一定是相同类型的,去掉这两个括号,再按这个规则匹配,最后可以把括号全部去掉,那就是互不相交的 注意一点,写代码千万别乱复制粘贴,要认真仔细 写程序之前要先把思路理清
ACM 括号配对问题 Java
package com.ding.acm; import java.util.Stack; import java.io.InputStreamReader; import java.io.BufferedReader; /** * 描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输
华为OJ训练 之 括号配对数目问题
题目如下 括号配对问题 输入n个括号,输出能组合的n个括号组合,例如—— 输入1时,只有()一种; 输入2时,有()()和(())两种; 输入3时,有()()(),()(()),(())(),(()())和((())),共5种。 输入4时有14种。。依次类推。 我想到的笨方法,类推找规律,因为我相信这个肯定有个公式的。找了好一会。没总结出来,于是翻书,因为印象中看过类似的