您当前的位置:首页 > 计算机 > 编程开发 > C语言

括号嵌套程序

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

开发环境: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();
}

 

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