<div class="cnblogs_code">
#include
</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> str;
l: cin</span>>><span style="color: #000000;">str;
</span><span style="color: #0000ff;">char</span> *<span style="color: #000000;">a;
strncpy(a,str.c_str(),str.length());</span><span style="color: #008000;">//</span><span style="color: #008000;">将输入的字符串转换为字符数组 </span>
<span style="color: #0000ff;">int</span> b[<span style="color: #800080;">100</span><span style="color: #000000;">];
</span><span style="color: #0000ff;">char</span> c[<span style="color: #800080;">100</span>];<span style="color: #008000;">//</span><span style="color: #008000;">准备b,c数组分别来存储依次输入的数字与运算符字符 </span>
<span style="color: #0000ff;">int</span> k=<span style="color: #800080;">0</span>,l=<span style="color: #800080;">0</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">int</span> sum=<span style="color: #800080;">0</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">for</span>(<span style="color: #0000ff;">int</span> i=<span style="color: #800080;">0</span>;i<str.length();i++<span style="color: #000000;">)
{
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(isdigit(a[i]))
{
b[k</span>++]=a[i]-<span style="color: #800080;">48</span><span style="color: #000000;">;
}
</span><span style="color: #0000ff;">else</span><span style="color: #000000;">
{
</span><span style="color: #0000ff;">if</span>(a[i]!=<span style="color: #800000;">'</span><span style="color: #800000;">+</span><span style="color: #800000;">'</span> && a[i]!=<span style="color: #800000;">'</span><span style="color: #800000;">-</span><span style="color: #800000;">'</span> && a[i]!=<span style="color: #800000;">'</span><span style="color: #800000;">*</span><span style="color: #800000;">'</span>)<span style="color: #008000;">//</span><span style="color: #008000;">来判断输入的运算符是否合理。 </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;">int</span> count=<span style="color: #800080;">0</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">for</span>(<span style="color: #0000ff;">int</span> i=<span style="color: #800080;">0</span>;i<<span style="color: #800080;">100</span>;i++<span style="color: #000000;">)
{
</span><span style="color: #0000ff;">if</span>(b[i]!=<span style="color: #800080;">0</span><span style="color: #000000;">)
{
count</span>++<span style="color: #000000;">;
}
}
</span><span style="color: #0000ff;">int</span> z=<span style="color: #800080;">1</span><span style="color: #000000;">;
sum</span>=b[<span style="color: #800080;">0</span><span style="color: #000000;">];
</span><span style="color: #0000ff;">while</span>(z<<span style="color: #000000;">count)
{
</span><span style="color: #0000ff;">int</span> zz=z-<span style="color: #800080;">1</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">switch</span>(c[zz])<span style="color: #008000;">//</span><span style="color: #008000;">来判断输入的运算符。 </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;">;
}
如下实例:
 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|