zoukankan      html  css  js  c++  java
  • 蓝桥杯基础练习题9(表达式)

    #include "stdio.h"
    int chuli(int i);
    int main(void)
    {
        int a=0,i=0,x=0,u=0,s[100],zi,b=0;
        char c,f[100];
        for(i=0; ;i++)
        {
            for(x=0;(c=getchar())>='0'&&c<='9';x++)
            {
                u=c-'0';
                if(x==0)
                zi=u;
                else  zi=zi*10+u;
            }
            s[a]=zi;
            if(c!='['&&c!=']')
            f[a++]=c;
    
            if (c=='[')   
            s[0]=chuli(i);
            if(c=='=')
            break;
        }
        
        for(a=0;a<=i;a++)
        {
            x=a+1;
            if((f[a]=='*'||f[a]=='/')&&b==0){  u=a;b=1; }
            if(f[a]=='+'||f[a]=='-')  b=0;
            if(f[a]=='*')  {  s[u]=s[u]*s[x];  f[a]='+'; s[x]=0; }
            if(f[a]=='/')  {  s[u]=s[u]/s[x];  f[a]='+'; s[x]=0; }
        }
        for(a=0;a<=i;a++)
        {
            x=a+1;
            if(f[a]=='+') {  s[0]=s[0]+s[x]; }
            if(f[a]=='-') {  s[0]=s[0]-s[x]; }
        }
        printf("%d",s[0]);
        return 0;
    }
    
    int chuli(int i)
    {
        int shu[100],d=0,f=0,g=0,ha,l=0,q=0;
        char w,fu[100];
        for(d=0; ;d++)
        {
            for(f=0;(w=getchar())>='0'&&w<='9';f++)
            {
                g=w-'0';
                if(f==0)  ha=g;
                else ha=ha*10+g;
            }
            shu[l]=ha;
            if(w!='['&&w!=']')  fu[l++]=w;
            if(w==']')  break;
        }
        for(l=0;l<=d;l++)
        {
            g=l+1;
            if((fu[l]=='*'||fu[l]=='/')&&q==0)  {  f=l; q=1; }
            if(fu[l]=='+'||fu[l]=='-')  q=0;
            if(fu[l]=='*')  {  shu[f]=shu[f]*shu[g]; fu[l]='+'; shu[g]=0; }
            if(fu[l]=='/')  {  shu[f]=shu[f]/shu[g]; fu[l]='+'; shu[g]=0; }
        }
        ha=shu[0];
        for(l=0;l<=d;l++)
        {
            g=l++;
            if(fu[l]=='+')    ha=ha+shu[g];
            if(fu[l]=='-')    ha=ha-shu[g];
        }
        ha=99;
        printf("
     %d  
    ",ha);
        return ha;
    }

    输入带括号基本运算表达式,得出答案。

  • 相关阅读:
    收银钱箱弹出设置
    IOS4.0 实例练习时钟
    mysql 日期查询操作 copy
    ios 学习笔记 2
    SVN 不能移动 xx\entries 到 xx\entries
    做一个基于PHPCMS V9架构的商城
    基于JDBC API 的事务管理代码示例
    mysql 数据类型
    Discuz!NT CreditsOperationType
    spring 事务传播行为
  • 原文地址:https://www.cnblogs.com/jzl123/p/6408741.html
Copyright © 2011-2022 走看看