{"id":35,"date":"2013-09-06T04:07:51","date_gmt":"2013-09-06T04:07:51","guid":{"rendered":""},"modified":"2013-09-06T04:07:51","modified_gmt":"2013-09-06T04:07:51","slug":"","status":"publish","type":"post","link":"http:\/\/weizn.net\/?p=35","title":{"rendered":"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668"},"content":{"rendered":"<p>\n\t\/*\u7f16\u8bd1\u73af\u5883\uff1aVC++ 6.0*\/\n<\/p>\n<p>\n\t\/*\u4e4b\u524d\u505a\u7684\u8bfe\u7a0b\u8bbe\u8ba1\uff0c\u6587\u6863\u5728\u8fd9\uff1a<a href=\"https:\/\/wenku.baidu.com\/view\/94d8767a1eb91a37f1115cb5.html\" target=\"_blank\">https:\/\/wenku.baidu.com\/view\/94d8767a1eb91a37f1115cb5.html<\/a>*\/\n<\/p>\n<p>\n\t#include &lt;iostream&gt;<br \/>\n#include &lt;string&gt;<br \/>\n#include &lt;conio.h&gt;<br \/>\n#include &lt;stdio.h&gt;<br \/>\n#include &lt;stdlib.h&gt;<br \/>\n#include &lt;windows.h&gt;\n<\/p>\n<p>\n\tusing namespace std;\n<\/p>\n<p>\n\tclass Operation<br \/>\n{<br \/>\npublic:<br \/>\n&nbsp;&nbsp;&nbsp; char Check_Oper(string &amp;str,string &amp;num_1,string &amp;num_2);&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u68c0\u6d4b\u8fd0\u7b97\u7b26<br \/>\n&nbsp;&nbsp;&nbsp; string addition(string &amp;num1,string &amp;num2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u52a0\u6cd5\u8fd0\u7b97<br \/>\n&nbsp;&nbsp;&nbsp; string subduction(string &amp;num1,string &amp;num2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u51cf\u6cd5\u8fd0\u7b97<br \/>\n&nbsp;&nbsp;&nbsp; string multiplication(string &amp;num1,string &amp;num2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u4e58\u6cd5\u8fd0\u7b97<br \/>\n&nbsp;&nbsp;&nbsp; string division(string &amp;num1,string &amp;num2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u9664\u6cd5\u8fd0\u7b97<br \/>\n&nbsp;&nbsp;&nbsp; string factorial(string &amp;num);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u9636\u4e58\u8fd0\u7b97<br \/>\nprivate:<br \/>\n&nbsp;&nbsp;&nbsp; string Reverse_String(string &amp;str);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u53cd\u8f6c\u5b57\u7b26\u4e32<br \/>\n&nbsp;&nbsp;&nbsp; string SUB_ASC(string &amp;str);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u5b57\u7b26\u4e32ASCII\u7801\u51cf48\u4f4d<br \/>\n&nbsp;&nbsp;&nbsp; string ADD_ASC(string &amp;str);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u5b57\u7b26\u4e32ASCII\u7801\u52a048\u4f4d<br \/>\n&nbsp;&nbsp;&nbsp; string GET_MAX(string &amp;num1,string &amp;num2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u83b7\u53d6\u4e24\u4e2a\u6570\u4e2d\u7684\u6700\u5927\u503c<br \/>\n};\n<\/p>\n<p>\n\tstring Operation::addition(string &amp;num1,string &amp;num2)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; unsigned short a=0,b=0;<br \/>\n&nbsp;&nbsp;&nbsp; string result;<br \/>\n&nbsp;&nbsp;&nbsp; string num_1(num1);<br \/>\n&nbsp;&nbsp;&nbsp; string num_2(num2);<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i=0,j=0;<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(num_1);<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(num_2);<br \/>\n&nbsp;&nbsp;&nbsp; SUB_ASC(num_1);<br \/>\n&nbsp;&nbsp;&nbsp; SUB_ASC(num_2);<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i!=num_1.size(); i++) a+=num_1[i];<br \/>\n&nbsp;&nbsp;&nbsp; for(j=0; j!=num_2.size(); j++) b+=num_2[j];<br \/>\n&nbsp;&nbsp;&nbsp; if(a!=0 || b!=0) goto skip;<br \/>\n&nbsp;&nbsp;&nbsp; result.insert(result.begin(),&#8217;0&#8242;);<br \/>\n&nbsp;&nbsp;&nbsp; return result;<br \/>\nskip:<br \/>\n&nbsp;&nbsp;&nbsp; i=j=0;<br \/>\n&nbsp;&nbsp;&nbsp; while(i!=num_1.size() || j!=num_2.size())<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(i!=num_1.size() &amp;&amp; j!=num_2.size()) result.insert(result.end(),num_1[i]+num_2[j]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(i!=num_1.size()) result.insert(result.end(),num_1[i]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(j!=num_2.size()) result.insert(result.end(),num_2[j]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i==num_1.size()?i:i++;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j==num_2.size()?j:j++;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i!=result.size(); i++)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(result[i]&gt;9)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i]%=10;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(i+1==result.size()) result.insert(result.end(),0);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i+1]+=1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; ADD_ASC(result);<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(result);<br \/>\n&nbsp;&nbsp;&nbsp; while(1)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(*result.begin()==&#8217;0&#8242;) result.erase(result.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else break;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; return result;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::subduction(string &amp;num1,string &amp;num2)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; short k=0;<br \/>\n&nbsp;&nbsp;&nbsp; string result;<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i=0,j=0;<br \/>\n&nbsp;&nbsp;&nbsp; string num_1(num1);<br \/>\n&nbsp;&nbsp;&nbsp; string num_2(num2);\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; if(GET_MAX(num_1,num_2)==num_2)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k=1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num_2.swap(num_1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u4ea4\u6362\u5bf9\u8c61\u6570\u636e<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(num_1);<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(num_2);<br \/>\n&nbsp;&nbsp;&nbsp; SUB_ASC(num_1);<br \/>\n&nbsp;&nbsp;&nbsp; SUB_ASC(num_2);<br \/>\n&nbsp;&nbsp;&nbsp; i=j=0;<br \/>\n&nbsp;&nbsp;&nbsp; while(i!=num_1.size() || j!=num_2.size())<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(i!=num_1.size() &amp;&amp; j!=num_2.size()) result.insert(result.end(),num_1[i]-num_2[j]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(i!=num_1.size()) result.insert(result.end(),num_1[i]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(j!=num_2.size()) result.insert(result.end(),num_2[j]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i==num_1.size()?i:i++;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j==num_2.size()?j:j++;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i!=result.size(); i++)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(result[i]&lt;0)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i]=10+result[i];<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i+1]-=1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; ADD_ASC(result);<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(result);<br \/>\n&nbsp;&nbsp;&nbsp; while(1)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(*result.begin()==&#8217;0&#8242;) result.erase(result.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else break;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; if(k)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(result.empty())<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(result.end(),&#8217;0&#8242;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(result.begin(),&#8217;-&#8216;);<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; return result;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::multiplication(string &amp;num1,string &amp;num2)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string result,temp;<br \/>\n&nbsp;&nbsp;&nbsp; string num_1(num1);<br \/>\n&nbsp;&nbsp;&nbsp; string num_2(num2);<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i=0,j=0,m=0;<br \/>\n&nbsp;&nbsp;&nbsp; short k=1;<br \/>\n&nbsp;&nbsp;&nbsp; char tmp=NULL;<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(num_1);<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(num_2);<br \/>\n&nbsp;&nbsp;&nbsp; SUB_ASC(num_1);<br \/>\n&nbsp;&nbsp;&nbsp; SUB_ASC(num_2);<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i!=num_1.size(); i++) result.insert(result.end(),num_2[0]*num_1[i]);<br \/>\n&nbsp;&nbsp;&nbsp; for(m=0; m!=result.size(); m++)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(result[m]&gt;9)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp=result[m];<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[m]%=10;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(m+1==result.size()) result.insert(result.end(),0);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[m+1]+=tmp\/10;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; while(j!=num_2.size()-1)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j++;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(j==num_2.size()) break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0; i!=num_1.size(); i++) temp.insert(temp.end(),num_2[j]*num_1[i]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp.insert(temp.begin(),k,0);\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(m=0; m&lt;temp.size(); m++) temp[m]+=result[m];<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(m=0; m&lt;temp.size(); m++)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(temp[m]&gt;9)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp=temp[m];<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp[m]%=10;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(m+1==temp.size()) temp.insert(temp.end(),0);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp[m+1]+=tmp\/10;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(temp);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ADD_ASC(result);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUB_ASC(result);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp.erase(temp.begin(),temp.end());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k++;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; Reverse_String(result);<br \/>\n&nbsp;&nbsp;&nbsp; ADD_ASC(result);<br \/>\n&nbsp;&nbsp;&nbsp; return result;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::division(string &amp;num1,string &amp;num2)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string result;<br \/>\n&nbsp;&nbsp;&nbsp; string MAX;<br \/>\n&nbsp;&nbsp;&nbsp; string remainder;<br \/>\n&nbsp;&nbsp;&nbsp; string num1_tmp;<br \/>\n&nbsp;&nbsp;&nbsp; string num_1(num1);<br \/>\n&nbsp;&nbsp;&nbsp; string num_2(num2);<br \/>\n&nbsp;&nbsp;&nbsp; string step(1,&#8217;1&#8242;);<br \/>\n&nbsp;&nbsp;&nbsp; string temp1,temp2;<br \/>\n&nbsp;&nbsp;&nbsp; string::iterator iter=NULL;<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i=0;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; while(*num_2.begin()==&#8217;0&#8242;) num_2.erase(num_2.begin());<br \/>\n&nbsp;&nbsp;&nbsp; if(num_2.empty())<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result=&#8221;\u9664\u6570\u4e0d\u53ef\u4ee5\u4e3a\u96f6!&#8221;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return result;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; num_1.insert(num_1.end(),100,&#8217;0&#8242;);<br \/>\n&nbsp;&nbsp;&nbsp; iter=num_1.begin()+num_2.size();<br \/>\n&nbsp;&nbsp;&nbsp; num1_tmp.assign(num_1.begin(),iter);<br \/>\n&nbsp;&nbsp;&nbsp; iter&#8211;;<br \/>\nagain:<br \/>\n&nbsp;&nbsp;&nbsp; for(step[0]=&#8217;1&#8242;; 1; step[0]++)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAX.assign(GET_MAX(multiplication(num_2,step),num1_tmp));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(step[0]==&#8217;9&#8242; &amp;&amp; num1_tmp==MAX) goto skip;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(MAX!=num1_tmp)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; step[0]&#8211;;<br \/>\nskip:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp2.assign(subduction(num1_tmp,multiplication(num_2,step)));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(1)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(temp2[0]==&#8217;0&#8242;) temp2.erase(temp2.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result+=step;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iter++;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(iter==num_1.end())<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(result.begin(),num_2.size()-1,&#8217;0&#8242;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i=result.size()-100;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(i,1,&#8217;.&#8217;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(*result.begin()==&#8217;0&#8242; &amp;&amp; *(result.begin()+1)!=&#8217;.&#8217;)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.erase(result.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(*(result.end()-1)==&#8217;0&#8242; &amp;&amp; *(result.end()-2)!=&#8217;.&#8217;) result.erase(result.end()-1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num1_tmp.assign(temp2);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num1_tmp.insert(num1_tmp.end(),*iter);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto again;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; return result;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::factorial(string &amp;num)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string result(num);<br \/>\n&nbsp;&nbsp;&nbsp; string step(1,&#8217;1&#8242;);<br \/>\n&nbsp;&nbsp;&nbsp; string _num(num);<br \/>\n\/\/ &nbsp;if(num.size()&lt;=1)<br \/>\n\/\/ &nbsp;&nbsp;if(num[0]==&#8217;1&#8242; || num[0]==&#8217;0&#8242;)<br \/>\n\/\/ &nbsp;&nbsp;&nbsp;return step;<br \/>\n\/\/ &nbsp;cout &lt;&lt;num&lt;&lt;endl;<br \/>\n\/\/ &nbsp;result.assign(multiplication(factorial(subduction(num,step)),num));<br \/>\n&nbsp;&nbsp;&nbsp; for(_num.assign(subduction(_num,step)); _num.size()==1?(_num[0]==&#8217;1&#8242; || _num[0]==&#8217;0&#8242;?0:1):1; _num.assign(subduction(_num,step)))<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(multiplication(result,_num));<br \/>\n&nbsp;&nbsp;&nbsp; return result;<br \/>\n}\n<\/p>\n<p>\n\tchar Operation::Check_Oper(string &amp;str,string &amp;num_1,string &amp;num_2)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; char ch=NULL;<br \/>\n&nbsp;&nbsp;&nbsp; short k=1;<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i;<br \/>\n&nbsp;&nbsp;&nbsp; if(str[str.size()-1]==&#8217;!&#8217;)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(str[0]&gt;=48 &amp;&amp; str[0]&lt;=57)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &#8216;!&#8217;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return NULL;<br \/>\n&nbsp;&nbsp;&nbsp; if(str[0]!=&#8217;-&#8216;) i=0;<br \/>\n&nbsp;&nbsp;&nbsp; else if(str[0]==&#8217;-&#8216;)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num_1.insert(num_1.end(),&#8217;-&#8216;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i=1;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; else if(str[0]==&#8217;+&#8217;) i=1;<br \/>\n&nbsp;&nbsp;&nbsp; else return NULL;<br \/>\n&nbsp;&nbsp;&nbsp; for(; i&lt;str.size(); i++)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(str[i]&gt;=48 &amp;&amp; str[i]&lt;=57)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(k) num_1.insert(num_1.end(),str[i]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num_2.insert(num_2.end(),str[i]);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ch!=NULL) return NULL;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(str[i])<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;+&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch=&#8217;+&#8217;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;-&#8216;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch=&#8217;-&#8216;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;*&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch=&#8217;*&#8217;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;\/&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch =&#8217;\/&#8217;;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return NULL;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k=0;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; return ch;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::Reverse_String(string &amp;str)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i,j=str.size()-1,length=str.size()\/2;<br \/>\n&nbsp;&nbsp;&nbsp; char tmp=NULL;<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i&lt;length; i++,j&#8211;)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp=str[i];<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str[i]=str[j];<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str[j]=tmp;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; return str;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::SUB_ASC(string &amp;str)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i;<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i&lt;str.size(); i++) str[i]-=48;<br \/>\n&nbsp;&nbsp;&nbsp; return str;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::ADD_ASC(string &amp;str)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i;<br \/>\n&nbsp;&nbsp;&nbsp; for(i=0; i&lt;str.size(); i++) str[i]+=48;<br \/>\n&nbsp;&nbsp;&nbsp; return str;<br \/>\n}\n<\/p>\n<p>\n\tstring Operation::GET_MAX(string &amp;num1,string &amp;num2)<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; string num_1(num1);<br \/>\n&nbsp;&nbsp;&nbsp; string num_2(num2);<br \/>\n&nbsp;&nbsp;&nbsp; string::size_type i;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; while(num_1[0]==&#8217;0&#8242; || num_2[0]==&#8217;0&#8242;)<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(num_1[0]==&#8217;0&#8242;) num_1.erase(num_1.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(num_2[0]==&#8217;0&#8242;) num_2.erase(num_2.begin());<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; if(num_1.size()&gt;num_2.size()) return num_1;<br \/>\n&nbsp;&nbsp;&nbsp; else if(num_1.size()&lt;num_2.size()) return num_2;<br \/>\n&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0; i!=num_1.size(); i++)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(num_1[i]&gt;num_2[i]) return num_1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(num_1[i]&lt;num_2[i]) return num_2;<br \/>\n&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; return num_1;<br \/>\n}\n<\/p>\n<p>\n\tint Console()<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp; system(&#8220;cls&#8221;);<br \/>\n&nbsp;&nbsp;&nbsp; SetConsoleTitle(&#8220;\u6709\u7b26\u53f7\u5927\u6574\u578b\u6570\u5b57\u8ba1\u7b97\u5668&nbsp; \u2014\u2014By:\u8ba1\u79d112-1\u73ed \u9b4f\u5b50\u6960&#8221;);<br \/>\n&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;===============================================================================&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;\\t\\t\\t\u6709\u7b26\u53f7\u5927\u6574\u578b\u6570\u5b57\u8ba1\u7b97\u5668&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;\u672c\u7a0b\u5e8f\u53ef\u8fdb\u884c:\\n1.\u52a0\u6cd5\u8fd0\u7b97\\t2.\u51cf\u6cd5\u8fd0\u7b97\\t3.\u4e58\u6cd5\u8fd0\u7b97\\t4.\u9664\u6cd5\u8fd0\u7b97\\t5.\u9636\u4e58\u8fd0\u7b97&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;===============================================================================&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp; return 1;<br \/>\n}\n<\/p>\n<p>\n\tint main(int argc,char *argv[])<br \/>\n{<br \/>\n&nbsp;char ch;<br \/>\n&nbsp;&nbsp;&nbsp; Operation oper;<br \/>\nagain:<br \/>\n&nbsp;&nbsp;&nbsp; string *_str=new string;<br \/>\n&nbsp;&nbsp;&nbsp; string *_num1=new string;<br \/>\n&nbsp;&nbsp;&nbsp; string *_num2=new string;<br \/>\n&nbsp;&nbsp;&nbsp; string *_result=new string;<br \/>\n&nbsp;&nbsp;&nbsp; string &amp;str=*_str;<br \/>\n&nbsp;&nbsp;&nbsp; string &amp;num1=*_num1;<br \/>\n&nbsp;&nbsp;&nbsp; string &amp;num2=*_num2;<br \/>\n&nbsp;&nbsp;&nbsp; string &amp;result=*_result;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; Console();<br \/>\n&nbsp;&nbsp;&nbsp; fflush(stdin);<br \/>\n&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;\u8bf7\u8f93\u5165\u8fd0\u7b97\u5f0f:&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp; cin &gt;&gt;str;<br \/>\n&nbsp;&nbsp;&nbsp; if((ch=oper.Check_Oper(str,num1,num2))==NULL) cout &lt;&lt;&#8220;\u8f93\u5165\u6709\u8bef!&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp; if(num1[0]==&#8217;-&#8216;)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(ch)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;+&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num1.erase(num1.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.subduction(num2,num1));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;-&#8216;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num1.erase(num1.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.addition(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(result.begin(),&#8217;-&#8216;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;*&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num1.erase(num1.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.multiplication(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(result.begin(),&#8217;-&#8216;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;\/&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; num1.erase(num1.begin());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.division(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.insert(result.begin(),&#8217;-&#8216;);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;\u6570\u636e\u51fa\u9519!&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; else<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(ch)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;+&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.addition(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;-&#8216;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.subduction(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;*&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.multiplication(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;\/&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.division(num1,num2));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &#8216;!&#8217;:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.erase(str.end()-1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.assign(oper.factorial(str));<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;\u6570\u636e\u51fa\u9519!&#8221;&lt;&lt;endl;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br \/>\n&nbsp;&nbsp;&nbsp; cout &lt;&lt;&#8220;\u8ba1\u7b97\u7ed3\u679c:&#8221;&lt;&lt;endl&lt;&lt;result&lt;&lt;endl;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; delete _str;<br \/>\n&nbsp;&nbsp;&nbsp; delete _result;<br \/>\n&nbsp;&nbsp;&nbsp; delete _num2;<br \/>\n&nbsp;&nbsp;&nbsp; delete _num1;<br \/>\n&nbsp;&nbsp;&nbsp; getch();<br \/>\n&nbsp;&nbsp;&nbsp; goto again;\n<\/p>\n<p>\n\t&nbsp;&nbsp;&nbsp; return 1;<br \/>\n}\n<\/p>\n<p>\n\t\n<\/p>\n<p>\n\t\u6d4b\u8bd5\u622a\u56fe\uff1a\n<\/p>\n<p>\n\t<a target=\"_blank\" href=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png\" data-rel=\"penci-gallery-image-content\"  id=\"ematt:268\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png\" title=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" alt=\"BaiduShurufa_2015-3-31_23-20-3.png\" border=\"0\" height=\"442\" width=\"677\" \/><\/a>\n<\/p>\n<p>\n\t<a target=\"_blank\" href=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/cfe21427815033.png\" data-rel=\"penci-gallery-image-content\"  id=\"ematt:270\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/cfe21427815033.png\" title=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" alt=\"BaiduShurufa_2015-3-31_23-22-15.png\" border=\"0\" height=\"442\" width=\"677\" \/><\/a>\n<\/p>\n<p>\n\t<a target=\"_blank\" href=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/a8d71427815082.png\" data-rel=\"penci-gallery-image-content\"  id=\"ematt:272\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/a8d71427815082.png\" title=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" alt=\"BaiduShurufa_2015-3-31_23-23-7.png\" border=\"0\" height=\"442\" width=\"677\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\n\t#include &lt;iostream&gt;<br \/>\n#include &lt;string&gt;<br \/>\n#include &lt;conio.h&gt;<br \/>\n#include &lt;stdio.h&gt;<br \/>\n#include &lt;stdlib.h&gt;<br \/>\n#include &lt;windows.h&gt;\n<\/p>\n<p>\n\tusing namespace std;\n<\/p>\n<p>\n\tclass Operation<br \/>\n{<br \/>\npub&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[324],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668 - Wayne&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/weizn.net\/?p=35\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668 - Wayne&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt;    using namespace std;    class Operation { pub...\" \/>\n<meta property=\"og:url\" content=\"http:\/\/weizn.net\/?p=35\" \/>\n<meta property=\"og:site_name\" content=\"Wayne&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-09-06T04:07:51+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"zinan\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/weizn.net\/#website\",\"url\":\"http:\/\/weizn.net\/\",\"name\":\"Wayne&#039;s Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/weizn.net\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/weizn.net\/?p=35#primaryimage\",\"inLanguage\":\"zh-Hans\",\"url\":\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png\",\"contentUrl\":\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/weizn.net\/?p=35#webpage\",\"url\":\"http:\/\/weizn.net\/?p=35\",\"name\":\"\\u6709\\u7b26\\u53f7\\u5927\\u6574\\u6570\\u8ba1\\u7b97\\u5668 - Wayne&#039;s Blog\",\"isPartOf\":{\"@id\":\"http:\/\/weizn.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/weizn.net\/?p=35#primaryimage\"},\"datePublished\":\"2013-09-06T04:07:51+00:00\",\"dateModified\":\"2013-09-06T04:07:51+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/weizn.net\/?p=35#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/weizn.net\/?p=35\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/weizn.net\/?p=35#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\\u9996\\u9875\",\"item\":\"http:\/\/weizn.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\\u6709\\u7b26\\u53f7\\u5927\\u6574\\u6570\\u8ba1\\u7b97\\u5668\"}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/weizn.net\/?p=35#article\",\"isPartOf\":{\"@id\":\"http:\/\/weizn.net\/?p=35#webpage\"},\"author\":{\"@id\":\"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264\"},\"headline\":\"\\u6709\\u7b26\\u53f7\\u5927\\u6574\\u6570\\u8ba1\\u7b97\\u5668\",\"datePublished\":\"2013-09-06T04:07:51+00:00\",\"dateModified\":\"2013-09-06T04:07:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/weizn.net\/?p=35#webpage\"},\"wordCount\":3919,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264\"},\"image\":{\"@id\":\"http:\/\/weizn.net\/?p=35#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png\",\"articleSection\":[\"C\/C++\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/weizn.net\/?p=35#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264\",\"name\":\"zinan\",\"logo\":{\"@id\":\"http:\/\/weizn.net\/#personlogo\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668 - Wayne&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/weizn.net\/?p=35","og_locale":"zh_CN","og_type":"article","og_title":"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668 - Wayne&#039;s Blog","og_description":"#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt;    using namespace std;    class Operation { pub...","og_url":"http:\/\/weizn.net\/?p=35","og_site_name":"Wayne&#039;s Blog","article_published_time":"2013-09-06T04:07:51+00:00","og_image":[{"url":"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"zinan","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"20 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"http:\/\/weizn.net\/#website","url":"http:\/\/weizn.net\/","name":"Wayne&#039;s Blog","description":"","publisher":{"@id":"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/weizn.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"ImageObject","@id":"http:\/\/weizn.net\/?p=35#primaryimage","inLanguage":"zh-Hans","url":"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png","contentUrl":"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png"},{"@type":"WebPage","@id":"http:\/\/weizn.net\/?p=35#webpage","url":"http:\/\/weizn.net\/?p=35","name":"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668 - Wayne&#039;s Blog","isPartOf":{"@id":"http:\/\/weizn.net\/#website"},"primaryImageOfPage":{"@id":"http:\/\/weizn.net\/?p=35#primaryimage"},"datePublished":"2013-09-06T04:07:51+00:00","dateModified":"2013-09-06T04:07:51+00:00","breadcrumb":{"@id":"http:\/\/weizn.net\/?p=35#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/weizn.net\/?p=35"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/weizn.net\/?p=35#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"http:\/\/weizn.net\/"},{"@type":"ListItem","position":2,"name":"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668"}]},{"@type":"Article","@id":"http:\/\/weizn.net\/?p=35#article","isPartOf":{"@id":"http:\/\/weizn.net\/?p=35#webpage"},"author":{"@id":"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264"},"headline":"\u6709\u7b26\u53f7\u5927\u6574\u6570\u8ba1\u7b97\u5668","datePublished":"2013-09-06T04:07:51+00:00","dateModified":"2013-09-06T04:07:51+00:00","mainEntityOfPage":{"@id":"http:\/\/weizn.net\/?p=35#webpage"},"wordCount":3919,"commentCount":0,"publisher":{"@id":"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264"},"image":{"@id":"http:\/\/weizn.net\/?p=35#primaryimage"},"thumbnailUrl":"http:\/\/www.weizn.net\/content\/uploadfile\/201503\/9c1f1427814966.png","articleSection":["C\/C++"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/weizn.net\/?p=35#respond"]}]},{"@type":["Person","Organization"],"@id":"http:\/\/weizn.net\/#\/schema\/person\/e88bc12c590502d8b6249326f960b264","name":"zinan","logo":{"@id":"http:\/\/weizn.net\/#personlogo"}}]}},"_links":{"self":[{"href":"http:\/\/weizn.net\/index.php?rest_route=\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/weizn.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/weizn.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/weizn.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/weizn.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=35"}],"version-history":[{"count":0,"href":"http:\/\/weizn.net\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions"}],"wp:attachment":[{"href":"http:\/\/weizn.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/weizn.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/weizn.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}