标题:剖析整数反序输出~~~~~帮忙 注释下了。。。。
只看楼主
七夜之华
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
威 望:5
帖 子:82
专家分:103
注 册:2014-9-7
结帖率:100%
已结贴  问题点数:30 回复次数:5 
剖析整数反序输出~~~~~帮忙 注释下了。。。。
/*#include<iostream>// . 编写一个程序,要求输入一个整数,将各位数字反序后输出。
using namespace std;
int main(){
    int x,ox;
    int bw,sw,gw;
    cout<<"请输入一个整数:"<<endl;
    cin>>x;
    bw=x%100;                                
    sw=x%10;
    gw=x%1;
    ox=gw*100+sw*10+bw*1;
    cout<<"取反后数字为:"<<ox<<endl;
    system("pause");
    return 0;
}
 */   
   

#include<iostream>
using namespace std;
int main()
{
   int n,right_digit,newnum=0;
   cout<<"请输入整数值:"<<endl;
   cin>>n;
   cout<<"反序输出数据为:"<<endl;
   do
   {
      right_digit=n%10;
      newnum=newnum*10+right_digit;
      n/=10;
   }while (n);
   cout<<newnum<<endl;
   system("PAUSE");
   return 0;
}
搜索更多相关主题的帖子: include system return 
2014-11-28 15:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
这小学三年级就能解决的数学问题还要注释?
另外,你的代码,变量定义到头部,即使在现在的C标准中,也明确写着“摒弃”这么做。我帮你改一下
程序代码:
#include <iostream>
using namespace std;

int main()
{
    unsigned n;
    cin >> n;

    unsigned long long m = 0;
    for( ; n; n/=10 )
        m = m*10 + n%10;
    cout << m << endl;

    return 0;
}
之所以用 unsigned long long,是因为 反序 后,unsigned int 未必能装得下,比如 1111111119

你的题目要求中只需要输出,那就不必考虑溢出的问题了
程序代码:
#include <iostream>
using namespace std;

int main()
{
    unsigned n;
    cin >> n;

    if( n == 0 )
    {
        cout << 0;
    }
    else
    {
        for( ; n%10==0; n/=10 );
        for( ; n; n/=10 )
            cout << n%10;
    }
    cout << endl;

    return 0;
}

2014-11-28 15:37
七夜之华
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
威 望:5
帖 子:82
专家分:103
注 册:2014-9-7
得分:0 
  解释下这里的第一个for后面的  ;代表的意思。、、、、、
                        加 ;运行的结果正确,不加;的话运行就没有结果





###################################################
##################################################
 因为不懂、才要学习,因为学习、才有进步。

#############################################
##########################################
因为不懂、才要学习、只有学习、才有进步。
2014-11-29 09:27
小码农
Rank: 9Rank: 9Rank: 9
来 自:大山里
等 级:蜘蛛侠
威 望:7
帖 子:151
专家分:1198
注 册:2014-11-8
得分:0 
回复 2 楼 rjsp
版主的第一个for循环没弄懂,可以讲解下吗。

[ 本帖最后由 小码农 于 2014-11-29 19:31 编辑 ]

沉淀自己,厚积薄发!
2014-11-29 19:29
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
第一个for是为了去掉后缀的0
比如 123000000
如果反序的话为 000000321
而去掉后缀的0再反序的话为 321
2014-12-01 08:42
小码农
Rank: 9Rank: 9Rank: 9
来 自:大山里
等 级:蜘蛛侠
威 望:7
帖 子:151
专家分:1198
注 册:2014-11-8
得分:0 
回复 5 楼 rjsp
奥,明白了

沉淀自己,厚积薄发!
2014-12-01 13:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439299-1-1.html




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

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