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;
    }

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

  • 相关阅读:
    Nginx降权启动
    Tomcat降权启动
    【转载】XSS学习笔记
    仪仗队(容斥,欧拉,打表)
    2012蓝桥杯
    HPU周赛题目解析
    蓝桥杯真题集2011
    cf公式专场-续
    24点游戏&&速算24点(dfs)
    Parallelogram Counting(平行四边形个数,思维转化)
  • 原文地址:https://www.cnblogs.com/jzl123/p/6408741.html
Copyright © 2011-2022 走看看