本题首AC
2024-04-21 11:49:21
发布于:广东
19阅读
0回复
0点赞
首先,我要纠正一下样例:Ok写成了ok,Error写成了ERROR
然后,分析题目:
- 不可出现除
a
b
c
1
2
3
4
5
6
7
8
9
0
+
-
*
/
外的所有字符,否则输出 - 不可以出现形如、等括号不匹配的情况,否则输出
- 若出现其它不合法的代数表达式,输出
- 若以上情况均未出现,输出
插个小广告,
核心代码↓
int len,kh;
for(len=kh=0;s[len]!=';'&&s[len];len++)
if(!(s[len]>='a'&&s[len]<='c'||s[len]=='('||s[len]==')'||s[len]>='0'&&s[len]<='9'||s[len]=='+'||s[len]=='-'||s[len]=='*'||s[len]=='/')) {
cout<<"Error 1"; // 出现不合法字符
return 0;
}
else {
if(s[len]=='(') kh++;
else if(s[len]==')') kh--;
if(kh<0) { // ‘)’过多
cout<<"Error 2";
return 0;
}
}
if(kh) cout<<"Error 2"; // ‘)’过少
else cout<<"Ok"; // 正常
全部评论 1
新数据已经更新了(之前的数据有问题全部换掉了
2024-04-25 来自
0哦哦
2024-04-26 来自 广东
0
有帮助,赞一个