Chinaunix首页 | 论坛 | 博客
  • 博客访问: 37445
  • 博文数量: 7
  • 博客积分: 171
  • 博客等级: 入伍新兵
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-04 22:13
文章分类

全部博文(7)

文章存档

2012年(3)

2011年(4)

我的朋友

分类: C/C++

2012-02-20 19:43:56


Description

  给你一个字符串,只含有‘(’和‘)’,然后你判断一下是否合法

Input
有多组数据,每组数据一行字符串s(|s|<=100),如题目所述
Output
如果合法则输出YES,否则输出NO。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. char *str=NULL;

  5. int main(int argc,char *argv[]){
  6.     
  7.     str = (char *)malloc(110* sizeof(char));
  8.     while(fgets(str,110,stdin)){
  9.         int n=0,m=0,i,j;
  10.         j=strlen(str);
  11.         if(str[0]=='('){
  12.             for(i=0;i<j-1;i++){
  13.                 if(str[i]=='(') m++;
  14.                 else n++;
  15.             }
  16.             if(m!=n)printf("NO\n");
  17.             else printf(str[j-2]==')'?"YES\n":"NO\n");
  18.         }
  19.         else printf("NO\n");
  20.         }
  21.     free(str);//释放内存
  22.     return 0;
  23. }
阅读(1262) | 评论(0) | 转发(0) |
0

上一篇:我的conky备份

下一篇:出了什么问题

给主人留下些什么吧!~~