当前位置:编程学习 > C/C++ >>

问题九十七:Reverse Number

[plain]  Give you an integer; your task is to output its reverse number. Here, reverse number is defined as follows: 
1. The reverse number of a positive integer ending without 0 is general reverse, for example, reverse (12) = 21; 
2. The reverse number of a negative integer is negative, for example, reverse (-12) = -21; 
3. The reverse number of an integer ending with 0 is described as example, reverse (1200) = 2100.  
 
Input 
 
Input file contains multiple test cases. There is a positive integer n (n<100) in the first line, which means the number of test cases, and then n 32-bit integers follow. 
 
Output 
 
For each test case, you should output its reverse number, one case per line. 
 
Sample Input 
 
 

12 
-12 
1200 
 
Sample Output 
 
 
21 
-21 
2100 

Give you an integer; your task is to output its reverse number. Here, reverse number is defined as follows:
1. The reverse number of a positive integer ending without 0 is general reverse, for example, reverse (12) = 21;
2. The reverse number of a negative integer is negative, for example, reverse (-12) = -21;
3. The reverse number of an integer ending with 0 is described as example, reverse (1200) = 2100.

Input

Input file contains multiple test cases. There is a positive integer n (n<100) in the first line, which means the number of test cases, and then n 32-bit integers follow.

Output

For each test case, you should output its reverse number, one case per line.

Sample Input


3
12
-12
1200

Sample Output


21
-21
2100
[plain]  <PRE class=plain name="code">#include <stdio.h> 
 
int main() 

    int i; 
    int j; 
    int n; 
    int tab;                        //标记末尾是否有零 
    int num; 
    int flag;                      //标记是否是正负数   
    int count; 
    int array[100];                 //存储各位的数值 
 
    scanf("%d", &n); 
    while(n--) 
    {   
        scanf("%d", &num); 
         
        j=0; 
        tab=1;                //假设末尾有零 
        flag=1;               // 正数为1 
        count=0; 
        if(num<0 ) 
        { 
            flag=0;            //负数 
            num=-1* num;          
        } 
 
        while(num) 
        { 
            if(num%10==0 && tab!=0)     
            { 
               count++;        //计算零的个数 
            } 
            else 
            { 
               array[j++]=num%10; 
               tab=0;      
            } 
            num/=10; 
        } 
 
        if(flag==0)      
        { 
            printf("-"); 
        } 
 
        for(i=0; i<j; i++) 
        { 
             printf("%d", array[i]); 
        } 
         
        for(i=0; i<count; i++)         //打印末尾零的个数 
        { 
            printf("0"); 
        } 
        if(n>0)       
        { 
            printf("\n"); 
        } 
    } 
 
    return 0; 

</PRE><BR> 
<BR> 
<PRE></PRE> 
<P>    </P> 
<PRE></PRE> 
<PRE></PRE> 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,