zoukankan      html  css  js  c++  java
  • C++实现顺序计算输入表达式的值

    #include <iostream>
    #include <cstring>
    #include <cctype>//判断字符类型需要的头文件
    using namespace std;
    int main()
    {
    
            string str;
        l:    cin>>str;
            char *a;
              strncpy(a,str.c_str(),str.length());//将输入的字符串转换为字符数组 
            int b[100];
            char c[100];//准备b,c数组分别来存储依次输入的数字与运算符字符 
            int k=0,l=0;
            int sum=0;
             for(int i=0;i<str.length();i++)
            {
                if(isdigit(a[i]))
                {
                    b[k++]=a[i]-48;
                }
                else
                {
                    if(a[i]!='+' && a[i]!='-' && a[i]!='*')//来判断输入的运算符是否合理。 
                    {
                        cout<<"输入有误:请重新输入:(只能是包含数字和+ - *字符)"<<endl;
                        goto l;
                    }
                    else
                    {
                        c[l++]=a[i];    
                    }
                    
                }
            }
             int count=0;
             for(int i=0;i<100;i++)
             {
                 if(b[i]!=0)
                 {
                     count++;
                 }
             }
            int z=1;
            sum=b[0];
            while(z<count) 
            {
                int zz=z-1;
                switch(c[zz])//来判断输入的运算符。 
                { 
                case '+':
                    sum=sum+b[z];
                    break;
                case '-':
                    sum-=b[z];
                    break;
                case '*':
                    sum=sum*b[z];
                    break;
                }
                ++z;
            }
            cout<<sum<<endl;   //输出最终结果。 
        return 0;
    }
            

    如下实例:

  • 相关阅读:
    正则表达式
    UVALive
    Python科学计算基础篇
    IntelliJ IDEA 2017.3激活与汉化
    hive order by,sort by, distribute by, cluster by作用以及用法
    Hive调优
    Hive 索引
    hive视图
    Hive 分区 分桶使用
    linux内核优化,内核参数详解
  • 原文地址:https://www.cnblogs.com/yjd_hycf_space/p/6666137.html
Copyright © 2011-2022 走看看