P1307 数字反转

题目描述:给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。数据范围 -1,000,000,000≤ N≤ 1,000,000,000 。
分析:按要求模拟,考虑全面需要耐心,细心。
代码:

#include<cstdio>
int main()
{
    int n, ok;
    while(~scanf("%d",&n))
    {
        if (n < 0)          //负数先输出符号,再转为正数处理
        {
            printf("-");
            n = -n;
        }
        if (n == 0)
            printf("0\n");
        else
        {
            ok = 0;        //标记要输出的 0 之前是否已有非 0 数输出过
            while(n)
            {
                if(n%10 == 0 && ok || n%10 != 0)
                {
                    printf("%d",n%10);
                    ok = 1;
                }
                n /= 10;
            }
            printf("\n");
        }
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容