正序数-C

输入一个数 num ,按顺序输出其各位数。

想法:num 为 x 位,则num / pow(10,x-1)= num 的最高位的数,即最左边的数。eg.1234/1000=1。   此后,将 num % 10 ,得到去处最高位的数,eg. 1234 % 1000= 234,将1000也除以10,得到100。然后进行循环。

代码实现:

#include<stdio.h>
int main(){
    int num;     
    scanf("%d",&num);   //输入要运算的数 num  
     int mask=1,t;
     t=num;      // t 存储 num 的值 
    while(t>9){  // t 的位数-1 次循环 
        t/=10;
        mask*=10;   // mask 得到 pow(10,t的位数-1) 
    }
    do{            //循环实现正序输出 
        t=num/mask;   //得到此时 num 的最高位即最左边的数 
        printf("%d",t); 
        if(mask>9)printf(" ");   //数后输出空格,且控制最后一个数后不输出空格 
        num%=mask;         // num 最高位去除 
        mask/=10; 
    }while(mask>0);     //输出 num 最后一位时,运算后 mask =0,循环结束 
    return 0;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值