oj91

#91:  给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最


时间限制:2 sec.  内存限制:128 MB. 

试题描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 

输入格式


数据有多组,对于每一组数据
输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。
输出格式

输出共 1 行,一个整数,表示反转后的新数。

样例输入
样例 #1123

样例 #2-380

样例输出
样例 #1321

样例 #2-83

其它说明
#1
#include<stdio.h>
int main()
{
int n,m;
while(scanf("%d",&n)!=EOF)
{
m = 0;
while(n)//为了实现无限循环,当n=0的时候就终止运行
{
m=10*m+n%10;
n/=10;
}
printf("%d
",m);
}
return 0;
}
#2
#include <stdio.h>
#include <string.h>
#define N 20
int main()
{
    char n[N];
    int len, flag = 0, i;
    while(scanf ("%s", &n)!=EOF)
    len = strlen(n);
    if (n[0] == '-')
        {
            printf ("-");
            for (i = len - 1; i > 0; i--)
                {
                   if (flag || n[i] != '0')
                {
                     printf ("%c", n[i]);
                     flag = 1;
                }
                }
        }
    else
        {
            for (i = len - 1;i >= 0;i--)
                {
                    if (flag || n[i] != '0')
        {
            printf ("%c", n[i]);
             flag = 1;
              }
               }
                }
         printf ("
");
    return 0;
    }
原文地址:https://www.cnblogs.com/1079722822a/p/7846938.html