给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入格式:
输入共1 行,一个整数N。
输出格式:
输出共1 行,一个整数,表示反转后的新数。
提示:
NOIP普及组2011
限制:
-1,000,000,000 ≤ N ≤ 1,000,000,000 。 每个测试点1s
样例 1 :
输入: -290
输出: -92
样例 2 :
输入: 900000000
输出: 9
C语言:
#include <stdio.h>
int main()
{
int n,r=0;
scanf("%d",&n);
if(n<0)
{
printf("-");n=-n;
}
if(n==0)
{
printf("0");
return 0;
}
while(n)
{
r=r*10+n%10;
n/=10;
}
printf("%d",r);
return 0;
}
评测状态
正确 100
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 208
C语言:
#include <stdio.h>
int main()
{
int n,r=0,flag;
scanf("%d",&n);
if(n<0)
{
flag=1;
n=-n;
}
while(n%10==0)
n/=10;
while(n)
{
r=r*10+n%10;
n/=10;
}
if(flag)
r=-r;
printf("%d",r);
return 0;
}
评测状态
正确 100
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 211
C语言:
#include <stdio.h>
int main()
{
char n1[11],n2[11];
gets(n1);
int len=0,j=0,n;
while(1)
{
if(n1[len]=='\0')
break;
else
len++;
}
if(n1[0]=='-')
n2[0]='-';
for(int i=len-1;i>=0;i--)
{
n2[j++]=n1[i];
if(n1[i]=='-')
break;
}
sscanf(n2,"%d",&n);
printf("%d\n",n);
return 0;
}
评测状态
答案错误 50
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 304
C语言:
#include <stdio.h>
int main()
{
char n1[11],n2[11];
gets(n1);
int len=0,j=0;
while(1)
{
if(n1[len]=='\0')
break;
else
len++;
}
if(n1[0]=='-')
n2[0]='-';
for(int i=len-1;i>=0;i--)
{
n2[j++]=n1[i];
if(n1[i]=='-')
break;
}
puts(n2);
return 0;
}
评测状态
答案错误 20
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 272
C语言:
#include <stdio.h>
int main()
{
char n1[11],n2[11];
gets(n1);
int len=0,j=0,n;
while(1)
{
if(n1[len]=='\0')
break;
else
len++;
}
if(n1[0]=='-')
n2[0]='-';
for(int i=len-1;i>0;i--)
{
n2[j++]=n1[i];
}
if(n1[0]=='-')
printf('-');
else
n2[j]=n1[0];
sscanf(n2,"%d",&n);
printf("%d\n",n);
return 0;
}
评测状态
运行错误 50
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 327
C语言:
#include <stdio.h>
int main()
{
char n1[11],n2[11];
gets(n1);
int len=0,j=0,n;
while(1)
{
if(n1[len]=='\0')
break;
else
len++;
}
for(int i=len-1;i>0;i--)
{
n2[j++]=n1[i];
}
if(n1[0]=='-')
printf('-');
else
n2[j]=n1[0];
sscanf(n2,"%d",&n);
printf("%d\n",n);
return 0;
}
评测状态
运行错误 50
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 298
C语言:
#include <stdio.h>
int main()
{
char n1[11],n2[11];
gets(n1);
int len=0,j=0,n;
while(1)
{
if(n1[len]=='\0')
break;
else
len++;
}
for(int i=len-1;i>0;i--)
{
n2[j++]=n1[i];
}
if(n1[0]=='-')
printf("-");
else
n2[j]=n1[0];
sscanf(n2,"%d",&n);
printf("%d\n",n);
return 0;
}
评测状态
正确 100
语言: C
用时: 0 ms 内存: 1088 kb 代码长度: 298