已知一个整型数据,逆序输出和顺序输出它的每一位的方法

//逆序输出一个整型数据的每一位的值
void PrintReverse(int n)   //先声明一个函数,它的送入数据类型为整型

 do
 {
  printf("%d ",n%10);  //当n不为0的时,通过对10取余,能够取到最末位的数,然后将其输出
  n /= 10;                    //在最末位的数被输出后,通过除以10,由于数据类型为整型,最末位的数据就被扔掉了
 }while(n != 0);           //接着通过循环,依次倒序输出剩余的值,直到第一位也被输出,n变为0为止
 printf("\n");
}
//顺序输出一个整型数据的每一位的值

int Figure(int n)        //首先需要一个计数器,来判断它的位数是几位
{
 int count = 0;          //将其初始化赋值为0
 do
 {
  count++;               //通过循环,每循环一次,count的值就+1,达到最终计数的目的
  n /=10;                  //每次除以10,n的位数就会减少一位
 }while(n != 0);        //当n等于0之后循环停止,此时count的值就是n的位数
 return count;
}
//接着调用Figure函数

void PrintOrder(int n)    //声明一个顺序输出的函数,其接受的数据类型为整型
{
 int count = Figure(n);  //在调用Figure这类函数时,需要定义一个变量去保存它的值,并且Figure的‘()’里的数据
不需要加入int
 int power = 1;
 for(int i=0;i<count-1;i++)  //接着设置一个除数,位数和被除数一致
 {
  power *= 10;
 }
 do
 {
  printf("%d ",n/power);     //此时,打印出的数字就为给定数据的第一位
  n %= power;                    //通过取余,将数据的第一位扔掉
  power /= 10;                    //再将除数减少一位,对后面的数据依次处理
 }while(n != 0);                   
 printf("\n");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值