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

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

  • 相关阅读:
    C# 利用VS自带的WSDL工具生成WebService服务类
    七大管理工具
    在线教育系统
    Redis学习一
    酒店管理系统
    大数据学习一
    nginx负载均衡/反向代理学习一
    微服务学习十
    分布式学习一
    Abstract和Virtual和interface , 派生类中重写 override / new关键字
  • 原文地址:https://www.cnblogs.com/jzl123/p/6408741.html
Copyright © 2011-2022 走看看