说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

急!在线等待!

编辑:说三道四文库 发布时间:2017-11-23 01:35
HTML文档下载 WORD文档下载 PDF文档下载
请帮忙用c写一个小函数,判断输入的字符串(表达式)里括号(‘(’,‘)’)是不是配对的程序。多谢了!!!!!!!!
char *s;
int i,a = 0;

for(i = 0; i < strlen(s); i++)
  if (s[i] == '(') a++;
  else if (s[i] == ')') a--;
if (a == 0) 
  printf("匹配\n");
else
  printf("不匹配\n");

是不是这样啊?不知道你是什么具体要求的说。
第一个不应该是)
中间加一句
if(a<0)
  break;
使用堆栈来实现。遇到(入栈,遇到)判断栈是不是空,如果不是空则出栈,否则出错,到最后一个出栈后栈为空,则匹配。
/*我已搞定!VC ,pass
请帮忙用c写一个小函数,判断输入的字符串(表达式)里括号(‘(’,‘)’)是不是配对的程序。多谢了!!!!!!!!
*/

#include <stdio.h>

#define MAX 100

char s[MAX];  //define a stack of char type
int top;   //init top 0 to MAX-1

int push(char ch); //push ch to stack st,success returns 1

void main()
{
int i=0,j=0;
char ch;
//
for (;;)
{
ch=getc(stdin);
if (ch=='(')
{
push(ch);
i++;
}
if(ch==')')
{
push(ch);
j++;
}
if (ch=='\n') break;
}
//
if (i==j)
printf("匹配\n");
else
printf("不匹配\n");
}

int push(char ch) //push ch to stack st,success returns 1
{
if (top==MAX-1)
{
printf("full\n");
return(0);
}
else
{
top++;
s[top]=ch;
return(1);
}
}

好好好,各位思路都不错,基本上符合我的算法。
但都少考虑了一个问题,括号配对不单单是左右括号是否相等,还要保正其语法,如果有
a+b)-a(kj.这样就遭了。我也是刚被逼出来的。多谢了
那就是一个附加条件,每一个干净的状态后(即括号全部成对抵消,当然刚开始没有括号也是干净的),第一个出线的括号不能是),而只能是(。

#include <stdio.h>
#include <string.h>
int fn(char* ch)
{
int x=0;
for (int i=0;i<strlen(ch);i++)
{
if (ch[i]=='(')
x++;
if (ch[i]==')')
{
x--;
if (x<0) return 1;
}
}
if (x!=0) return 1;
return 0;
}
void main()
{
char ch[]="a+b)-a(kj";  //要判断的字串
if (fn(ch)==0)
printf("ok!\n");
else
printf("error!\n");
}

在ActiveX DLL工程中慎用App对象-VB资料 在ActiveX控件工程中设置DataField属性-VB资料 在VB中异步执行程序 在VB编程中有效地组织和利用资源 在VB应用程序中巧用DLL 在VB应用程序中使用INI文件的一点体会 在VB中操纵OLE服务器应用程序 在VB中改变显示器的分辨率 在VB中获取和修改计算机名字 在vb中没有指针,怎样才能将数组作为参数。 在VB中如何调用C++Builder创建的DLL 在VB中设置常用的外部设备 在VB中使用枚举变量 在Visual Basic 中使用C++ 类 在WindowsNT网络中广播消息 -VB资料 在可编辑控件中创建一个新的上下文菜单 -VB资料 在软件中设定热键-VB资料 在注册表中添加自己的文件类型-VB资料 在桌面上建立 Internet 快捷键 -VB资料 在桌面上添加程序的快捷方式 -VB资料 VB怎样得到当前的屏幕分辨率? VB怎样关闭Windows VB怎样关闭一个程序 VB怎样使我的程序总处于屏幕最前方?(Always on top) VB怎样延迟一个VB程序? VB怎样在VB中控制WORD VB怎样找到鼠标指针的XY坐标? 增加快捷方式到启动组-VB资料 直接呼叫RUNDLL来关机-VB资料 VB制作VB安装程序问答(二) VB制作VB安装程序问答(一) 请问用VBSCRIPT怎么写这个正则表达式,在线等, JB做打印可以吗? lz32.dll 基于MIDP1.0的CS结构有没有好的解决方案 200分求 网路精灵XP V2.0.7 简体中文版 的注册机? 关于不同包package内的静态变量访问的问题,帮忙解答 求crystal report enterprise8.5的keycode,谢谢 Windows Server 2003 Enterprise Edition 激活问题 好学生通宵学习。遇到问题! 如何得到N个月以前的年、月 大家都来说说从记事起到现在有哪些经典的歌曲曾经红遍大街小巷,我开FTP,大家帮着搜集一下 ““struct”类型重定义”” 是什么意思? 哈稀表如何遍历一边? ie突然打不开ftp网络了 谁能帮我解决这个对我来说的难题!!!(分数不够可以再加) 大家对2008奥运标志有什么看法?? 第一次在LINUX下使用GCC.... ie突然打不开ftp网络了 好久没来了 来看看 最优三角剖析的问题 why squid can not start? 关于字符串的问题,数组和指针有什么区别? 这个日历是怎么搞出来的,比较实用,怎么做一个 一个调用存储过程小问题 来看看 很简单的问题,请教一下 软件工程中哪本教材比较好? 看BCB5的书,在BCB6编译是否完全能通过? 正义的高手门请伸出你们的手黑了这个彩票网站吧!(海南私人彩票害了很多人倾家荡产,家破人亡,我家也深受其害) ie突然打不开ftp网络了 我的MATRIX观----生命的究极存在形式 关闭窗口的问题 因为昨天晚上的积极表现。 我的真情告白·!#¥%…… 遇到了“Destination host unreachable.”,谁能简单的帮我分析一下出错的可能性。 关于安装windoew 2003的初级问题.解决立刻给分. 如何在LISTVIEW里输出打印? 现在你应该睡了~ 困了,睡觉去~~~~~~~~~ 有没有可能在outlook express中加入自已的按钮? 有没有可能在outlook express中加入自已的按钮? 一个sql表达式的问题 JBUILDER9中用代码改变程序的外观, 难?易?,如何写,见贴内,谢谢! 我的电脑里的g盘分区损坏(磁盘坏道)请问有没有补救的方法? 谁有培训教材,单位培训的?? 印章问题?? 如何实现文件上传?在线急等!!! 如何查询出数据库中相同的字段值??? 可以动态改变水晶报表的文本的内容吗? ASP.net提示无法调试 "不敢越雷池一步"这句话的来历 不敢越雷池一步的含义 英语作文:昨天,大明同学邀请了一些好朋友在一家餐馆庆祝自己15岁生日昨天,大明同学邀请了一些好朋友在一家餐馆庆祝自己15岁生日,假如你是他的外籍好朋友Tony,请你就此次就餐经历用英 饭店虽小,但给居民带来方便.改为夸张句怎样? 函数f(x)在Xo处连续的条件是什么? 求抛物线Y等于2X减去X的平方与X轴所围成的图形绕Y轴旋转体体积 莫泊桑 保护人概括 保护人,莫泊桑.中的玛兰是一个什么样的形象? 不敢越雷池一步的造句是什么? cnc加工工艺流程是怎样的? 觉得能意会但是又不清楚它是褒义还是贬义,麻烦哪位给点比较权威的解释 格副总理当选总统韩承诺彻查干涉选举丑闻 被视为朴槿惠叙利亚提交销毁化武计划第一高人觅得真爱英首宗疑似3D打印枪支案曝光英国爆出首宗疑似3D打印枪支案南非废除与德国双边投资协议中国钢琴家郎朗出任联合国和平使者英国遭遇10年来最强风暴致2人死亡航听俄罗斯人褒贬“免费医疗”被表嫂逐客竟残杀一家五口奥迪车套牌记12分罚3500元刚出生就被卖民警设卡拦下人贩与女婴龙里城镇职工医保卡实现全省“一卡通”王珞丹婚纱照曝光一脸忧郁 小妞恋上3中组部印发《意见》规范党政领导干部在坏习惯加重痛经 5招保健缓解痛经情感揭秘:男人希望你用9种方式爱他假阔姐坑了打工仔两万 法官提醒勿盲目天津有四处“黄标车”回收网点 市民可天津 绵阳 拉萨航线开通 航班时间为印尼校长团到中德职业技术学院“取经”
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘