首页
新闻
小组
威客
人才
下载
博客
代码贴
在线编程
论坛
注册
|
登录
帮我解决下吧
作者在 2008-05-27 16:29:03 发布以下内容
设计程序
,
要求对一个不大于
5
位的正整数能
:
1)
按逆序打印出各位数字
,
例如原数为
321,
应输出
123.
2)
判断它是几位数
;
默认分类
| 阅读 3143 次
收藏
文章评论,共5条
夜风依旧
2008-05-27 17:10
1
方法太多了<br />
1.最简单的方法:<br />
int result = 0;<br />
int count = 0;<br />
while(data)<br />
{<br />
count++;<br />
result = result * 10 + data % 10;<br />
data /= 10;<br />
}<br />
2.使用栈:<br />
#include<stack> //using namespace std;<br />
stack<int> s;<br />
int result = 0;<br />
int count;<br />
while(data)<br />
{<br />
s.push(data % 10);<br />
data /= 10;<br />
}<br />
count = s.size();<br />
while(!s.empty())<br />
{<br />
result = result * 10 + s.top();<br />
s.pop();<br />
}<br />
//result is what you want<br />
3.使用stringstream流和标准算法库algorithm<br />
#include<sstream> //using namespace std;<br />
#include<algorithm><br />
<br />
stringstream ss;<br />
string str;<br />
int result;<br />
int count;<br />
ss << data;<br />
ss >> str; //先转换成字符串<br />
reverse(str.begin(),str.end()); //字符串翻转<br />
count = str.size();<br />
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
行了 嘿嘿
赞
回复
游客请输入验证码
woaiqi751的博客
woaiqi751
浏览5704次
文章分类
默认分类(2)
文章归档
2008年05月(2)
最新评论
woaiqi751
:行了 嘿嘿
夜风依旧
:<div class="quote"><span class="q"><b>woaiqi751...
woaiqi751
:不存在data
woaiqi751
:第一种在C#里不好用啊
夜风依旧
:方法太多了<br /> 1.最简单的方法:<br /> &nb...