赞
踩
题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(如:输入-380,输出-83)。
输入描述
输入共1行,一个整数N。
输出描述
输出共1行,一个整数,表示反转后的新数。
样例输入
123
样例输出
321
方法一:
优点:此方法不用考虑前置0的问题
#include <stdio.h>
int main()
{
int n,s=0;
scanf("%d",&n);
while(n!=0)
{
s=s*10+n%10;
n=n/10;
}
printf("%d\n",s);
}
方法二:
优点:此方法逻辑过程分析好理解
#include <stdio.h> #include <string.h> int main() { char s[100]; gets(s); int n,f=0,t; n=strlen(s)-1; //统计字符串有多长,注意下标是从0开始的,值要减1 while(s[n]=='0') //计算第一个非’0’位置 { n--; t=n; } if(s[0]=='-') //符号特判 { f=1; printf("-"); } for(int i=n;i>=1;i--) //从非’0’位置倒序输出 { printf("%c",s[i]); } if(f==0) //单独输出 { printf("%c",s[0]); } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。