// 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;
}
http://blog.csdn.net/segen_jaa/article/details/8645107
for(int i=0;i<n;i++)
{
printf("请输入测试样本:");
scanf("%s",&name);
上面这段代码中,如果输入的括号中没有空格间隔的话,不需要循环;还有就是,scanf中的name前面不需要加地址符,因为name已经是一个字符数组了
这多说一点:这题用线性栈做会更好点