给一个不多于5位的整数, 要求输出它是几位数, 每一个数字是什么, 再反向输出这个数

#include <stdio.h>
#include <stdlib.h> //exit的包含函数

void sort(int, int, int, int);  //函数声明
int main()
{

 int num;
 printf("\n请输入一个不多于5位的正整数: ");
 scanf("%d", &num);

 //检查是不是不多于五位, 是的话退出程序并提示输入错误

 if (num > 99999)
 {
  printf("\n你输入的数有误!程序即将退出!");
  exit(0); //终止整个程序
 }

 if(num > 9999) //说明是五位数
 {
  printf("你输入的是一个5位数!\n");
  sort(num, 5, 10000, 0);
  exit(0);
 }
 if(num > 999)
 {
  printf("你输入的是一个4位数!\n");
  sort(num, 4, 1000, 0);
  exit(0);
 }
 if(num > 99)
 {
  printf("你输入的是一个3位数!\n");
  sort(num, 3, 100, 0);
 }
 if(num > 9)
 {
  printf("你输入的是一个2位数!\n");
  sort(num, 2, 10, 0);
 }
 else
 {
  printf("你输入的是一个1位数!\n");
  sort(num, 1, 1, 0);
 }

 return 0;
}


//调用函数实现输出每一位, 再反向输出这个数

void sort(int num,int n, int t, int sum) //参数为数字的位数与t, sum的初始值
{
 //num为输入的数字
 //n为确定的位数
 //t为确定位数后对应的倍数
 //sum为了存放反向输出的数

 int i = 1, w;
 for (;i <= n;num = num/10, i++, t = t/10) //条件
  {
   w = num%10; //取出位数
   printf("从右到左第%d位数字是: %d\n", i, w); //打印
   sum = sum + w*t;
  }

  printf("反向输出这个数是: %d\n", sum);
}

 

 

 

 

 

 

**********************在vc++6.0中结果为**************************


请输入一个不多于5位的正整数: 68543
你输入的是一个5位数!
从右到左第1位数字是: 3
从右到左第2位数字是: 4
从右到左第3位数字是: 5
从右到左第4位数字是: 8
从右到左第5位数字是: 6
反向输出这个数是: 34586
Press any key to continue

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值