洛谷 1739表达式括号匹配

shareone2 2019-04-19 07:26:51
#include <cstdio>

int main () {
int c, cnt = 0;
while ((c = getchar()) != '@') {
c == '(' ? cnt++ : (c == ')' ? cnt-- : c = 1);
if (cnt < 0) break;
}
cnt == 0 ? printf("YES\n") : printf("NO\n");
return 0;
}
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shareone2 2019-04-28
  • 打赏
  • 举报
回复
引用 1 楼 lin5161678的回复:
贴代码做什么? 秀代码吗? 那就随便说说吧 三目用得不好 可读性就不提了 简短也不咋地 最后的 c = 1 实在是蹩脚 凑格式 喜欢简单可以考虑
cnt += (c == '(') + -1 * (c == ')');
最后输出的三目也是令人扶额 真喜欢三目也应该这样写
puts(c==0? "YES" : "NO");
既然喜欢简短
        if (cnt < 0) break; //为什么不写在while判断里面
我是一个新手,发个博客就是记录一下自己的所思所想。不过还是感谢你的评论,我又学习到了不少,谢谢
lin5161678 2019-04-19
  • 打赏
  • 举报
回复
贴代码做什么? 秀代码吗? 那就随便说说吧 三目用得不好 可读性就不提了 简短也不咋地 最后的 c = 1 实在是蹩脚 凑格式 喜欢简单可以考虑
cnt += (c == '(') + -1 * (c == ')');
最后输出的三目也是令人扶额 真喜欢三目也应该这样写
puts(c==0? "YES" : "NO");
既然喜欢简短
        if (cnt < 0) break; //为什么不写在while判断里面

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧