帮我解决下吧

作者在 2008-05-27 16:29:03 发布以下内容

设计程序,要求对一个不大于5位的正整数能:

1)      按逆序打印出各位数字,例如原数为321,应输出123.

2) 判断它是几位数;

默认分类 | 阅读 3063 次
文章评论,共5条
夜风依旧
2008-05-27 17:10
1
方法太多了<br />
1.最简单的方法:<br />
&nbsp; &nbsp; &nbsp; &nbsp; int result = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int count = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; while(data)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = result * 10 + data % 10;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data /= 10;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
2.使用栈:<br />
#include&lt;stack&gt;&nbsp;&nbsp;//using namespace std;<br />
&nbsp; &nbsp; &nbsp; &nbsp; stack&lt;int&gt; s;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int result = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int count;<br />
&nbsp; &nbsp; &nbsp; &nbsp; while(data)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s.push(data % 10);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data /= 10;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; count = s.size();<br />
&nbsp; &nbsp; &nbsp; &nbsp; while(!s.empty())<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = result * 10 + s.top();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s.pop();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; //result is what you want<br />
3.使用stringstream流和标准算法库algorithm<br />
#include&lt;sstream&gt; //using namespace std;<br />
#include&lt;algorithm&gt;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; stringstream ss;<br />
&nbsp; &nbsp; &nbsp; &nbsp; string str;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int result;<br />
&nbsp; &nbsp; &nbsp; &nbsp; int count;<br />
&nbsp; &nbsp; &nbsp; &nbsp; ss &lt;&lt; data;<br />
&nbsp; &nbsp; &nbsp; &nbsp; ss &gt;&gt; str; //先转换成字符串<br />
&nbsp; &nbsp; &nbsp; &nbsp; reverse(str.begin(),str.end()); //字符串翻转<br />
&nbsp; &nbsp; &nbsp; &nbsp; count = str.size();<br />
&nbsp; &nbsp; &nbsp; &nbsp; result = atoi(str.c_str());<br />
<br />
第一中效率最高,其他的是发散思考得到的方法,仅供参考
woaiqi751(作者)
2008-05-27 17:19
2
第一种在C#里不好用啊
woaiqi751(作者)
2008-05-27 17:21
3
不存在data
夜风依旧
2008-05-27 17:29
4
<div class="quote"><span class="q"><b>woaiqi751</b>: 第一种在C#里不好用啊</span></div>c#里面应该可以实现第一种方法的吧,,,<br />
//data是原来的数据或者它的副本
woaiqi751(作者)
2008-05-27 17:37
5
行了 嘿嘿
游客请输入验证码
文章分类
文章归档