C语言回顾【传统&&巧妙?取出数字各位,并得到数字长度】

1、很容易想到的就是,取余法

  • 先判断取余是否完成了
  • 没完成,即剩下的数字n>9
  • 新取出一位=n%10
  • n/=10
  • 继续循环
  • 实现代码:
include<stdio.h>                                                               
int* digit(int x)
{   
    static int dig[100]={0},i=0;
    for(i=0;;i++){//循环,取出各位上的数字
        if((x/10!=0)||(x%10!=0)){//判断是否已经取完
            dig[i]=x%10;
            x=x/10;
            printf("%d\n",dig[i]);
        }
        else break;
    }
    dig[i]=-1;
    return dig;
}
void main()
{
    int num,*digits,count=0;
    printf("please enter a number");
    scanf("%d",&num);
    digits=digit(num);//进行数字分解,并在数组最后一位填入-1,以示结束
    for(int i=0;digits[i]!=-1;i++){//统计数字位数
        count++;
    }
    for(int j=0;j<count;j++){//按序输出
        printf("%d",digits[count-j-1]);
    }
}                   

  

2、 

猜你喜欢

转载自blog.csdn.net/dieju8330/article/details/82503392