zoukankan      html  css  js  c++  java
  • 简单表达式的计算用递归的方法

    注意:把一个值赋给引用指针时,它必须是一个变量!!!

     1 #include<cstdio>
     2 #include<iostream>
     3 using namespace std;
     4 
     5 double statement(char* &p)
     6 {
     7     double a;
     8     a=*p-'0';
     9     p++;
    10     while(*p=='*'||*p=='/')
    11     {
    12         if(*p=='/')
    13         {
    14             p++;
    15             a/=*p-'0';         
    16         }
    17         else
    18         {
    19             p++;
    20             a*=*p-'0';
    21         }
    22         p++;
    23     }
    24     return a;
    25 }
    26 
    27 void expession(char* &p)
    28 {
    29     bool isMinux;//是否为减号
    30     double value=0.0;
    31     
    32     if(*p=='-')
    33     {
    34         isMinux=true;
    35         value=-statement(++p);
    36     }
    37     else if(*p=='+'){p++;value=*p-'0';p++;}
    38     else {value=*p-'0';p++;}
    39 
    40     while(*p=='+'||*p=='-')
    41     {
    42         if(*p=='+')
    43         {
    44             value+=statement(++p);
    45         }
    46         else
    47         {
    48             value-=statement(++p);
    49         }
    50         p++;
    51     }
    52     if(*p=='\0')cout<<value;
    53     else 
    54     {
    55         cout<<"式子不符合规范!"<<endl;
    56     }
    57 }
    58 
    59 int main()
    60 {
    61     char p[100];
    62     cin>>p;
    63     char *a=p;
    64     expession(a);
    65     cin>>p;
    66 }
    别让别人来告诉你,你成不了才,如果你有梦想的话,就要去捍卫它---当幸福来敲门
  • 相关阅读:
    sqoop导出数据
    sqoop导入数据
    Hive学习(二)
    各个版本的集群安装包地址
    Hive学习(一)
    数据仓库
    HBase学习(二)
    HBase学习(一)
    MySQL中阻塞
    MySQL中锁问题
  • 原文地址:https://www.cnblogs.com/yihua/p/2947029.html
Copyright © 2011-2022 走看看