| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 548 人关注过本帖
标题:输入一个数 打印出来
只看楼主 加入收藏
daniel2008
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-9-1
收藏
 问题点数:0 回复次数:1 
输入一个数 打印出来
#include <iostream>
using namespace std;
int main()
{int n,m=0,r,t=0;
cin>>n;
while (n)
{r=n%10;
cout<<(char)(r+'0')<<' ';
m++;
t=t*10+r;
n=n/10;}
cout<<endl<<"#="<<m<<endl;
cout<<"resersed n="<<t<<endl;
return 0;
}
这里的cout<<(char)(r+'0')<<' ';
实现的是什么,我想它顺序输出,可结果是倒序输出,‘0’的作用是什么
请指教!
搜索更多相关主题的帖子: 输入 打印 
2009-09-24 19:39
shl305
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:36
专家分:121
注 册:2009-3-13
收藏
得分:0 
首先r=n%10,r必定是0-9之间的数,'0'+r是r对应的字符,如数字1对应字符 '1',9对应 '9',
就是从'0'开始加上偏移量,因为ASII码里'0'、‘1’、‘2’...是数序排列的
倒序输出是容易实现的,顺序输出不太容易实现,可以用下面几个方法
1、将倒序得到的结果保存下来,再按照顺序打印,这个方法比较土
2、想办法得到n是几位数,然后从不大于n的10的乘方数开始除,每次小10倍
     如,n= 1234,从1000开始,n先处以1000,再处以100、再10...
3、递归,这个写起来最简洁
2009-09-24 22:11
快速回复:输入一个数 打印出来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018988 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved