2025年3月13日 星期四 甲辰(龙)年 月十二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

括号嵌套程序

时间:01-03来源:作者:点击数:67

开发环境:Microsoft Visual C++ 6.0

解题思路:通过对输入的字符判断,进行检测所得到的括号种类,和其匹配程度。通过得到的字符做预判,在显示到屏幕上,避免异常出现,后两题由于时间问题并没有找到合适的解决方法。

主要算法:通过c来得到键盘输入的字符,进行判断是否合法,i的值来判断是否是相邻括号,t来记录相邻括号的个数,count来记录当前的嵌套数,k来记录最大的嵌套数,n来记录括号的对数。

核心代码:

  • while( 1 )
  • {
  • c = getch();
  • if ( c == '(' )
  • {
  • i = 1;
  • count++;
  • printf("(");
  • }
  • else if ( count > 0 && c == ')' )
  • {
  • printf(")");
  • t += i;
  • i = 0;
  • k=k > count?k:count;
  • count--;
  • n++;
  • }
  • else if ( c == '\r'|| c=='\n' )
  • goto end;
  • }

总结:由于时间问题并未将后面两题写完,时间如果充裕应该可以完成。

压缩包下载: 括号嵌套程序

----------------------------------------以下是源码------------------------------------

  • #include "stdio.h"
  • void main()
  • {
  • int count = 0, k = 1,n = 0,t = 0,i = 0;
  • char c;
  • printf("请输入括号:");
  • while( 1 )
  • {
  • c = getch();
  • if ( c == '(' )
  • {
  • i = 1;
  • count++;
  • printf("(");
  • }
  • else if ( count > 0 && c == ')' )
  • {
  • printf(")");
  • t += i;
  • i = 0;
  • k=k > count?k:count;
  • count--;
  • n++;
  • }
  • else if ( c == '\r'|| c=='\n' )
  • goto end;
  • }
  • end: printf("\n括号对数%d,深度%d,直接相邻%d\n",n,k,t);
  • getch();
  • }

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门