给一个不多于五位数的正整数x,输出位数 ,并按逆序输出各位上的数字(选择结构程序设计)

//给一个不多于五位数的正整数x,输出位数 
//并按逆序输出各位上的数字,
//例如,原数为123,输出321 
#include<stdio.h>
int main ()
{
	int num,i;
	int h,j,k,m,n;
	scanf("%d",&num);
	if(num/10000>=10)
	printf("Error!\n输入的数超出了给定位数!\n");
	else
      if(num/10000>=1)
      {
	  i=5;
	  printf("该数是%d位数\n",i);
	  }
      else
        if(num/1000>=1)
        {
        i=4;
		printf("该数是%d位数\n",i);
		}
        else
          if(num/100>=1)
          {
          i=3;
		  printf("该数是%d位数\n",i);
		  }
          else
            if(num/10>=1)
            {
            i=2;
			printf("该数是%d位数\n",i);
			}
            else 
			{
			i=1;
			printf("该数是%d位数\n",i);
			}
    if(i==5)        
    {
    	h=num/10000;
    	j=(num-h*10000)/1000;
    	k=(num-h*10000-j*1000)/100;
    	m=(num-h*10000-j*1000-k*100)/10;
    	n=num-h*10000-j*1000-k*100-m*10;
    	printf("原数是:%d\n",num); 
      	printf("逆序输出:%d%d%d%d%d",n,m,k,j,h);
	}
	if(i==4)//这个等于号得十分注意!!!! 
	{
		h=num/1000;
		j=(num-h*1000)/100;
    	k=(num-h*1000-j*100)/10;
    	m=(num-h*1000-j*100-k*10);	
		printf("原数是:%d\n",num); 
      	printf("逆序输出:%d%d%d%d",m,k,j,h);	
	}
	if(i==3)
	{
		h=num/100;
		j=(num-h*100)/10;
    	k=num-h*100-j*10;
    	printf("原数是:%d\n",num); 
      	printf("逆序输出:%d%d%d",k,j,h);	
	}
	if(i==2)
	{
		h=num/10;
		j=num-h*10;
    	printf("原数是:%d\n",num); 
      	printf("逆序输出:%d%d",j,h);	
	}
	if(i==1)
	{
		printf("原数是:%d\n",num); 
      	printf("逆序输出:%d",num);
	}
    return 0;
	
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值