| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1532 人关注过本帖
标题:读入一个非负整数N,请将它反向输出。 注:用数组者判cheat,且封号一周 ...
只看楼主 加入收藏
zengchao2016
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
读入一个非负整数N,请将它反向输出。 注:用数组者判cheat,且封号一周。
Input
有多个测试用例,每个测试用例占一行,是一个非负整数 N  ( 0 ≤ N ≤ 2^32 )

Output
为每个测试用例输出逆置(inverse)后的非负整数,一个一行。如果逆置之后有前导零,请不要输出前导零。

Sample Input
123
66778800

Sample Output
321
887766
2016-11-17 08:44
NiuYoohoo
Rank: 4
等 级:业余侠客
威 望:2
帖 子:65
专家分:216
注 册:2016-10-8
收藏
得分:7 

#include <iostream>
#include <cmath>

using namespace std;
int main()
{


unsigned long long N;

while(cin>>N)
{
    unsigned long long res=0;
    int bit =(int)log10(N)+1;
    for(int i=1;i<=bit;i++)
    {
        res=N%10+res*10;
        N=N/10;
    }
    cout<<res<<endl;
}
return 0;
}
2016-11-17 09:07
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:7 
没看到不能用数组~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-17 20:03
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
不用数组保存数据也可以用递归函数来保存数据~
#include <stdio.h>
int flag=0;
char fun(char a)
{
    if (a=='\n')
        return (a);
    scanf("%c",&a);
    if (a=='0'||a=='\n')
        flag=1;
    else
        flag=0;
    fun(a);
    if (a!='0'&&a!='\n')
        flag=0;
    if (flag==0&&a!='\n')
        printf("%c",a);
}
int main()
{
    char a;
    fun(a);
    printf("\n");
    return 0;
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-17 20:41
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:7 
回复 楼主 zengchao2016
#include <stdio.h>
int reverse(int given)
{
    int num=0,digit;
    do
    {
        digit=given%10;
        given/=10;
        num=10*num+digit;
    }while(given>0);
    return num;
}
int main()
{
    int a,b,c;
    printf("输入三个正整数:");
    scanf("%d%d%d",&a,&b,&c);
    a=reverse(a);b=reverse(b);c=reverse(c);
    printf("%d,%d,%d",a,b,c);
    return 0;
}
2016-11-17 22:11
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 5楼 yangfrancis
以下是引用zengchao2016在2016-11-17 08:44:19的发言:
有多个测试用例,每个测试用例占一行,是一个非负整数 N  ( 0 ≤ N ≤ 2^32 )

题目要求N  ( 0 ≤ N ≤ 2^32 )你确定这个没有越界int么~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-17 23:04
快速回复:读入一个非负整数N,请将它反向输出。 注:用数组者判cheat,且封号 ...
数据加载中...
 
   



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

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