简单模拟。
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;
}
#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;
}