给一个不多于5位的正整数,要求(1)求出它是几位数;(2)分别输出每一位数字(3)按逆序输出各位数字,例如原数为 321, 应输出 123。

  •  分析:

数字类的问题我们可以通过取模,取余运算很好的解决。题目条件是一个不多于五位的正整数,我们可以求出每一位数字是几,比如万位数字是0,其它位不为0,那么就是四位数,依次类推。

  • 图解 

给一个不多于5位的正整数,要求(1)求出它是几位数;(2)分别输出每一位数字(3)按逆序输出各位数字,例如原数为 321, 应输出 123。_第1张图片

取到每一个数字后,再逆序输出即可。

  •  代码

#define _CRT_SECURE_NO_WARNINGS//这一句必须放在第一行
#include
int main()
{
	long long x;
	long long a, b, c, d, e;//万,千,百,十,个位  //工作当中一个变量写一行,便于写注释
	printf("请输入一个不多于五位的正整数 :");
	scanf("%lld", &x);
	a = x / 10000; //取万位
	b = x %10000/1000;//取千位
	c = x / 100 % 10;//取百位
	d = x / 10 % 10;//取十位
	e = x % 10;//取个位
	if (a != 0)
		printf("是五位数,逆序=%lld%lld%lld%lld%lld", e, d, c, b, a);
	else if (b != 0)
		printf("是四位数,逆序=%lld%lld%lld%lld", e, d, c, b);
	else if (c != 0)
		printf("是三位数,逆序=%lld%lld%lld", e, d, c);
	else if (d != 0)
		printf("是两位数,逆序=%lld%lld", e, d);
	else if (e != 0)
		printf("是一位数,逆序=%lld", e);
	return 0;
}
 
  • 运行结果 

给一个不多于5位的正整数,要求(1)求出它是几位数;(2)分别输出每一位数字(3)按逆序输出各位数字,例如原数为 321, 应输出 123。_第2张图片

你可能感兴趣的:(C语言学习,c语言)