数字反转 洛谷P1307(入门)

题目描述

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

一个整数 NNN

输出格式:

一个整数,表示反转后的新数。

输入输出样例
输入样例#1: 复制

123

输出样例#1: 复制

321

输入样例#2: 复制

-380

输出样例#2: 复制

-83

说明

数据范围

−1,000,000,000≤N≤1,000,000,000-1,000,000,000≤N≤1,000,000,000 −1,000,000,000≤N≤1,000,000,000。

noip2011普及组第一题

#include
using namespace std;
char a[1000000000];
int main()
{
	int i,temp;
	char b;
	scanf("%s",a);
//	printf("%s",a);
	temp=0;
	if(a[0]=='-')
	{
		b='-';
		printf("%c",b);
		for(i=strlen(a)-1;i>0;i--)
		{
			if(a[i]!='0')
				temp=1;
			if(temp==1)
				printf("%c",a[i]);
		}
	}
	else 
	{
		for(i=strlen(a)-1;i>=0;i--)
		{
			if(a[i]!='0')
				temp=1;
			if(temp==1)
				printf("%c",a[i]);
		}
	}
	
	return 0;
 } 

你可能感兴趣的:(程序设计)