当前位置:   article > 正文

数字反转(C语言)

数字反转

例题:

题目描述

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

输入描述

输入共1行,一个整数N。

输出描述

输出共1行,一个整数,表示反转后的新数。

样例输入

123
样例输出

321

AC代码:

方法一:
优点:此方法不用考虑前置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);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

方法二:
优点:此方法逻辑过程分析好理解

#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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/程序性能提升者/article/detail/60496
推荐阅读
相关标签
  

闽ICP备14008679号