首页 > 技术文章 > 关于数位颠倒--C语言描述

wykxldz 2020-06-25 15:32 原文

如果针对特定位数的整数的话,可以直接应用除法运算:

      int a = 1234, m = 0;
      for( int i = 0; i < 4; i++ ){
            m += a / Pow(10, 3 - i) * Pow(10, i);
            a -= a / Pow(10, 3 - i) * Pow(10, 3 - i);
      }

如果输入任意整数的话,我们需要先判断位数:

unsigned int a( unsigned int m){
      //判断位数;
      int counter = 1;
      unsigned int n = m;
      while( n >= 10 ){
            counter ++;
            n = n / 10;
      }
      unsigned int newNum = 0;
      for( int i = 0; i < counter ; i ++ ){
            newNum += m / Pow(10, counter - 1 - i) * Pow(10, i);
            m -= m / Pow(10, counter - 1 - i) * Pow(10, counter - 1 - i);
      }
      return newNum;
}

推荐阅读