判断花括号是否成对出现

#include <stdio.h>
int main()
{
 int ch = 0;
 int count = 0;
 while ((ch = getchar()) != EOF)
 {
  if (ch == ‘{‘)
   count++;
  else if (ch == ‘}‘&& count != 0)
  {
   count--;
  }
  else if (ch == ‘}‘ && count == 0)
  {
   printf("匹配不成功\n");
   return 0;
  }
  
 }
 if (count == 0)
 {
  printf("匹配成功\n");
 }
 else
 {
  printf("匹配不成功\n");
 }
 printf("count=%d", count);
 return 0;
}
时间: 2024-10-11 13:42:48

判断花括号是否成对出现的相关文章

【C语言】判断花括号{}是否匹配

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> int main() { int i = 0, a = 0; int j = 0, b = 0; int count = 0; char arr1[50]; char arr2[20]; printf("请输入源代码:\n"); scanf("%s", arr1); for (i = 0; i < s

C语言::验证花括号成对出现

题目要求 编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现. 注意:你不必担心注释内部.字符串常量内部和字符常量形式的花括号. 算法分析 我们先判断左花括号的数量是否相等. 如果左右花括号数量不等,肯定不成对! 如果左右花括号数量相等,一定就成对吗??? 好像也不一定. 我们来举例分析一下,左右花括号相等时可能会出现的情况: 1.{{{{{}}}}}(匹配) 2.{}{}{}{}{}(匹配) ... 3.}}}}}{{{{{(不匹配) 4.{{{{}}}}}{(

简单C编程题-同位相同的N项之和/标准输入花括号成对判断/行号行输出

//求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222 #include <stdio.h> int main() { int a,n,sum; int i,j; sum = 0; printf("请输入项数和a的值"); scanf("%d%d",&a,&n); j = a; for(i = 1;i <= n;i++) { sum = sum+a; a = j

判断字符串中的括号是否成对出现

基本思路:可用栈来解决:遍历字符串,如果遇到左括号,则将左括号入栈,如果遇到右括号,则判断栈顶的元素是否为左括号,如果为左括号则弹出栈顶元素,然后继续字符串遍历,遍历结束后,如果栈为空,则认为括号是成对出现. 下面贴上实现代码: 1 #include <iostream> 2 #include <stack> 3 using namespace std; 4 5 int _tmain(int argc, _TCHAR* argv[]) 6 { 7 string sss = &quo

JS判断字符串小括号是否成对合法

一.思路 要判断()是否成对: 运用栈的"后进先出" 的特点,定义一个空数组,作为栈: for循环遍历字符串,当遇到"("的时候就把"("添加到空数组最顶端,push方法,记录发现一个左括号: 当遇到")"就把数组中最顶端的元素弹出来,pop方法,抵消一个左括号.注意如果此时数组是空的,但是遇到")"说明没有"("缺少成对的")",则返回false: 不是括号的字符就

json_encode转成带 花括号的{ } 和 中括号的[ ] 2种 形式 json数据

$a = array('1'=>'11','2'=>'22','3'=>'99');//无序的下标,则json_encode后变数组形json, 是花括号 { }  json_decode后变对象 $b = json_encode($a); var_dump($b); var_dump(json_decode($b)); string(28) "{ "1":"11","2":"22","3

从标准输入读取C源代码,并验证所有的花括号都正确的成对出现

#include<stdio.h> #include<process.h> int main() { char c = 0; int count = 0; while ((c = getchar()) != EOF) { if (c == '{') { count++; } else if (c == '}'&&count == 0) { printf("花括号不匹配!"); return 0; } else if (c == '}'&&

一道验证花括号匹配的编程题

//编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现 #include<stdio.h> int main() { int ch=0; int count=0; while((ch=getchar())!=EOF) { if(ch=='{') count++; else if((ch=='}')&&(count==0)) { printf("匹配不成功!\n"); } else if((ch=='}')&&(coun

PHP的大括号(花括号{})使用详解

一.不管什么程序,function name(){}, for(){}, ….这太多了,不说也知道什么用了. 二.$str{4}在字符串的变量的后面跟上{}大括号和中括号[]一样都是把某个字符串变量当成数组处理. 三.{$val}这种情况就是我遇到的问题,这时候大括号起的作用就是,告诉PHP,括起来的要当成变量处理. 如下例子: //The following is okay as it's inside a string. Constants are not //looked for with