Hdu 1266 Reverse Number

简单模拟。

CODE:

#include <stdio.h>
#include <stdlib.h>
#include < string.h>
#include <math.h>
using  namespace std;

const  int SIZE =  101;
char str[SIZE];
char save[SIZE];
int flag;


void reverse( char *str)
{
     int i;
     int len = strlen(str);
     for(i =  0; i < len/ 2; i++)
    {
         char tmp = str[len-i- 1];
        str[len-i- 1] = str[i];
        str[i] = tmp;
    }
     return ;
}



void solve( char *str)
{
     int i;
     int len = strlen(str), cnt =  0;
     for(i = len- 1; str[i] ==  ' 0 ' && i >=  0; i--, cnt++);
     if(!cnt)
    {
        reverse(str);
    }
     else
    {
        str[len-cnt] =  ' \0 ';
        reverse(str);
    }
     if(!flag)    printf( " - ");
    printf( " %s ", str);
     for(i =  0; i < cnt; i++) printf( " 0 ");
    printf( " \n ");
}



int main()
{
     int T, n;
    scanf( " %d ", &T);
    getchar();
     while(T--)
    {
        flag =  1;
        scanf( " %d ", &n);
         if(n <  0)
        {
            flag =  0;
            n = abs(n);
        }
        sprintf(str,  " %d ", n);
        solve(str);
    }
     return  0;
}

 

 

你可能感兴趣的:(number)