丢弃个位得到个位,丢弃最高位得到最高位

给出一个数字
(1)求出它是几位数
(2)分别输出每一位数字
(3)按逆序输出各位数字

(1)求出它是几位数
方法:求一个数是几位数,每次给它除以10,然后丢弃余数,直到为0结束。如123÷10=12(丢弃余数)
具体操作过程如下:

#include<stdio.h>
#include<math.h>
int  Findhow(int n )
{
 int tmp = 0;
 if (n == 0)
 {
  tmp = 1;
 }
 while ( n != 0)
 {
  n /= 10;
  tmp++;
 }
 printf("这个数是%d位数\n", tmp);
 }

(2)分别输出每一位数字
方法:我们需要根据第一问的方法知道这个数是几位数,然后丢弃最高位得最高位,直到为0
具体操作过程如下:

void zxsc(int n)
{
 int tmp = Findhow(n);
 for (int i = tmp; i != 0; i--)
 {
  int j = n / pow(10.0, i - 1);
  printf("%4d", j);
  n =  n-(j*pow(10.0, i - 1));
 }
 printf("\n");
 }

(3)按逆序输出各位数字
方法:将当前数字%10,并输出,相当于得到个位数并将数字以此输出,以此循环便可得到逆序
(如:321->32:321/10=32)

void nxsc(int n)
{
 do
 {
  printf("%d", n % 10);
  n /=10;
 } while (n != 0);
 printf("\n");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值