C++实现顺序计算输入表达式的值

前端之家收集整理的这篇文章主要介绍了C++实现顺序计算输入表达式的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="cnblogs_code">

#include 文件
     </span><span style="color: #0000ff;"&gt;string</span><span style="color: #000000;"&gt; str;
l:    cin</span>>><span style="color: #000000;"&gt;str;
    </span><span style="color: #0000ff;"&gt;char</span> *<span style="color: #000000;"&gt;a;
      strncpy(a,str.c_str(),str.length());</span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;将输入的字符串转换为字符数组 </span>
    <span style="color: #0000ff;"&gt;int</span> b[<span style="color: #800080;"&gt;100</span><span style="color: #000000;"&gt;];
    </span><span style="color: #0000ff;"&gt;char</span> c[<span style="color: #800080;"&gt;100</span>];<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;准备b,c数组分别来存储依次输入的数字与运算符字符 </span>
    <span style="color: #0000ff;"&gt;int</span> k=<span style="color: #800080;"&gt;0</span>,l=<span style="color: #800080;"&gt;0</span><span style="color: #000000;"&gt;;
    </span><span style="color: #0000ff;"&gt;int</span> sum=<span style="color: #800080;"&gt;0</span><span style="color: #000000;"&gt;;
     </span><span style="color: #0000ff;"&gt;for</span>(<span style="color: #0000ff;"&gt;int</span> i=<span style="color: #800080;"&gt;0</span>;i<str.length();i++<span style="color: #000000;"&gt;)
    {
        </span><span style="color: #0000ff;"&gt;if</span><span style="color: #000000;"&gt;(isdigit(a[i]))
        {
            b[k</span>++]=a[i]-<span style="color: #800080;"&gt;48</span><span style="color: #000000;"&gt;;
        }
        </span><span style="color: #0000ff;"&gt;else</span><span style="color: #000000;"&gt;
        {
            </span><span style="color: #0000ff;"&gt;if</span>(a[i]!=<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;+</span><span style="color: #800000;"&gt;'</span> &amp;&amp; a[i]!=<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;-</span><span style="color: #800000;"&gt;'</span> &amp;&amp; a[i]!=<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;*</span><span style="color: #800000;"&gt;'</span>)<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;来判断输入的运算符是否合理。 </span>

<span style="color: #000000;"> {
cout<<<span style="color: #800000;">"<span style="color: #800000;">输入有误:请重新输入:(只能是包含数字和+ - *字符)<span style="color: #800000;">"<<<span style="color: #000000;">endl;
<span style="color: #0000ff;">goto<span style="color: #000000;"> l;
}
<span style="color: #0000ff;">else<span style="color: #000000;">
{
c[l++]=<span style="color: #000000;">a[i];
}

        }
    }
     </span><span style="color: #0000ff;"&gt;int</span> count=<span style="color: #800080;"&gt;0</span><span style="color: #000000;"&gt;;
     </span><span style="color: #0000ff;"&gt;for</span>(<span style="color: #0000ff;"&gt;int</span> i=<span style="color: #800080;"&gt;0</span>;i<<span style="color: #800080;"&gt;100</span>;i++<span style="color: #000000;"&gt;)
     {
         </span><span style="color: #0000ff;"&gt;if</span>(b[i]!=<span style="color: #800080;"&gt;0</span><span style="color: #000000;"&gt;)
         {
             count</span>++<span style="color: #000000;"&gt;;
         }
     }
    </span><span style="color: #0000ff;"&gt;int</span> z=<span style="color: #800080;"&gt;1</span><span style="color: #000000;"&gt;;
    sum</span>=b[<span style="color: #800080;"&gt;0</span><span style="color: #000000;"&gt;];
    </span><span style="color: #0000ff;"&gt;while</span>(z<<span style="color: #000000;"&gt;count) 
    {
        </span><span style="color: #0000ff;"&gt;int</span> zz=z-<span style="color: #800080;"&gt;1</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;switch</span>(c[zz])<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;来判断输入的运算符。 </span>

<span style="color: #000000;"> {
<span style="color: #0000ff;">case <span style="color: #800000;">'<span style="color: #800000;">+<span style="color: #800000;">'<span style="color: #000000;">:
sum=sum+<span style="color: #000000;">b[z];
<span style="color: #0000ff;">break<span style="color: #000000;">;
<span style="color: #0000ff;">case <span style="color: #800000;">'<span style="color: #800000;">-<span style="color: #800000;">'<span style="color: #000000;">:
sum-=<span style="color: #000000;">b[z];
<span style="color: #0000ff;">break<span style="color: #000000;">;
<span style="color: #0000ff;">case <span style="color: #800000;">'<span style="color: #800000;"><span style="color: #800000;">'<span style="color: #000000;">:
sum=sum
<span style="color: #000000;">b[z];
<span style="color: #0000ff;">break<span style="color: #000000;">;
}
++<span style="color: #000000;">z;
}
cout<<sum<<endl; <span style="color: #008000;">//<span style="color: #008000;">输出最终结果。
<span style="color: #0000ff;">return <span style="color: #800080;">0<span style="color: #000000;">;
}

如下实例:

猜你在找的C#相关文章