求几位数,分别输出每一位数字,按逆顺序输出数字。

#include<stdio.h>	
int main()
	{	
		int n=0,a=0,b=0,c=0,d=0,e=0;
		scanf_s("%d", &n);
		if (Count(n) > 5) {
			printf("输入数字大于5位数\n");
		}
		else
			printf("这是一个 %d 位数\n", Count(n));
		
		if (Count(n)==5)
		{
			a = (int)( n/ 10000);
			b = (int)((n - a * 10000) / 1000);
			c = (int)((n - (a * 10000) - (b * 1000)) / 100);
			d = (int)((n - (a * 10000) - (b * 1000) - (c * 100)) / 10);
			e = (int)(n - (a * 10000) - (b * 1000) - (c * 100) - (d * 10));
			printf("万位是:%d\n千位是:%d\n百位是:%d\n十位是:%d\n个位是:%d\n",a,b,c,d,e);
			printf("%d%d%d%d%d", e, d, c, b, a);
		}
		else
		if (Count(n)==4)
		{
			b = (int)((n - a * 10000) / 1000);
			c = (int)((n - (a * 10000) - (b * 1000)) / 100);
			d = (int)((n - (a * 10000) - (b * 1000) - (c * 100)) / 10);
			e = (int)(n - (a * 10000) - (b * 1000) - (c * 100) - (d * 10));
			printf("千位是:%d\n百位是:%d\n十位是:%d\n个位是:%d\n",b,c,d,e);
			printf("%d%d%d%d", e, d, c, b);
		}	
		else
		if (Count(n) == 3)
		{
			c = (int)((n - (a * 10000)-(b*1000)) /100);
			d = (int)((n - (a * 10000) - (b * 1000) - (c * 100)) / 10);
			e = (int)(n - (a * 10000) - (b * 1000) - (c * 100) - (d * 10));
			printf("百位是:%d\n十位是:%d\n个位是:%d\n",c, d, e);
			printf("%d%d%d", e, d, c);
		}
		else
		if (Count(n) == 2)
		{
			d = (int)((n - (a * 10000) - (b * 1000)-(c*100)) / 10);
			e = (int)(n - (a * 10000) - (b * 1000) - (c * 100) - (d * 10));
			printf("十位是:%d\n个位是:%d\n",d, e);
			printf("%d%d", e, d);
		}
		else
		if (Count(n) == 1)
		{
			e = (int)(n - (a * 10000) - (b * 1000) - (c * 100)-(d*10));
			printf("个位是:%d\n",e);
			printf("%d", e);
		}
		return 0;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值