赞
踩
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入格式:
一个整数 NN
输出格式:
一个整数,表示反转后的新数。
输入样例#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 。
循环写法
- #include<cstdio>
- #include<iostream>
- using namespace std;
- int main()
- {
- int n,m=0,i,j,s=0,x,a[1001];
- scanf("%d",&n);
- if(n<0)
- {
- printf("-");
- n=-n;
- }
- if(n==0)
- printf("0");
- while(n)
- {
- s++;
- a[s]=n%10;
- n=n/10;
- }
- x=s;
- for(i=1;i<=s;i++)
- {
- for(j=x;j>1;j--)
- a[i]=a[i]*10;
- m=m+a[i];
- x--;
- }
- printf("%d ",m);
- return 0;
- }
递归写法
- #include<cstdio>
- using namespace std;
- long long a=0,b=0,m,n;
- int fan(int m)
- {
- int s;
- s=m%10;
- if(m==0)
- return b;
- while(m)
- {
- a=m%10;
- b=b*10+a%10;
- return fan(m/10);
- }
- }
- int main()
- {
- scanf("%d",&n);
- printf("%d\n",fan(n));
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。