c语言编程题,但如果帮我解决了我会用实际行动感谢,

问题描述:

c语言编程题,但如果帮我解决了我会用实际行动感谢,
1. 问题描述:
本课题要求检查给定的表达式是否符合简化的语法规则.简化的表达式规则如下:
(1) 表达式中只允许使用以下符号:
\x05大写字母,+,-,*,/,(,)
(2) 用单个大写字母表示进行运算的数据;
(3) 允许使用括号嵌套,但只用圆括号;
(4) 表达式中允许出现空格,不影响表达式的有效部分是否符合本规则.
例如,下面是一个符合上述规则的表达式,并可以随意添加空格:
\x05(A+B+C)*((A-C)/B)+D
下面是不符合上述规则的典型示例:
① A+B C*A\x05\x05\x05操作数B的后面需要运算符
② A+B*\x05\x05\x05\x05运算符*的后面需要操作数
③ A+B*+C\x05\x05\x05运算符*的后面需要操作数
④ A(B+C)\x05\x05\x05操作数A的后面需要运算符
⑤ (A+)*C\x05\x05\x05\x05运算符+的后面需要操作数
⑥ A*(B+C\x05\x05\x05括号不匹配
⑦ A+B)*C\x05\x05\x05括号不匹配
⑧ A*(B/(A-C)\x05\x05\x05括号不匹配
⑨ +A/B\x05\x05\x05\x05表达式需要以操作数开始
⑩ A+( )*C\x05\x05\x05(的后面需要操作数
2. 具体要求
 
录入附件中给出的程序框架,按照其中的标记添加相应的内容,使得程序能够正确运行.
附件
(1) 程序框架:
#include <stdio.h>
#include <string.h>
#define MAXLEN 100
#define N 14
/*此处添加自定义函数*/
main()
{
    char buf[N][MAXLEN]={
        "示例1","示例2","示例3",      /*此处更改为自己设置的三个示例*/
        "(A+B+C)*((A-C)/B)+D","A+B C*A","A+B*","A+B*+C",
        "A(B+C)","(A + )*C","A * (B + C","A+B)*C",
        "A*(B/(A-C)","+A/B","A+()*C"};
    int i;
    for(i=0;i<N;i++)
    {
        Check(buf[i]);
        getch();
    }
    printf("\n\nPress any key to exit.\n");
    getch();
}
预期结果如图

1个回答 分类:综合 2014-09-25

问题解答:

我来补答
“实际行动”是什么神奇的东西本来想定贵一点结果一看你没财富值了好吧我定免费(……
再问: 求qq
再答: 不给(´・ω・)
再问: 被你的人格魅力折服,真心的
再答: pat,你给我采纳就好了(……
 
 
展开全文阅读
剩余:2000
上一页:这一步看不懂
下一页:这题详细解释