#巧用"/"和"%"解决实际

在使用“/”和“%”中,主要存在两个问题 1:区分不清楚;2:在解决问题使不能充分的利用这两个运算符。

  • 基本概念:
    [1 ] “/” 表示除法;两个整数相除的结果为整数,所以想要得到float类型或double类型,需要进行数值转换或将分子乘以1.0;
    e.g:
    5/3=1;(5*1.0)/ 3=1.666667;

    [2 ] "%"表示求余数;%运算符要求运算的运算对象为整数,结果也为整数;要注意负数的求余和正数不一样。
    e.g:
    8%3=2;
    -5%3=-1;
    5%-3=1;

  • 利用这两个运算符:一般用于解决求整数位数,顺序输出,逆序输出,水仙花数,完数问题,在具体问题里这两个运算符的用法:
    [1 ] 对于整数n来说,n/10表示n除10,如123/10=12,223/10=22,从结果看到它丢掉了后面的数字,即有:
    n/(10的i次方)=丢掉 n 后面的 i 位数,保留前面的数
    e.g:
    12345/10000=1;
    2345/1000=2;
    1234/100=12;

[2 ] 对于整数n来说,n%10表示n对10求余,如123%10=3,234%10=4,从结果看到它丢掉了前面的数,保留了最后一位,即有:
n%(10的i次方)=保留后面的i位数,丢掉前面的数
e.g:
12345%10000=2345;
345%100=45;
67%10=7;

  • 解决应用问题
    [ 1 ] 问题:给一个任意整数,求:
    (1)它是几位数;
    (2)按逆序输出个位数字,例如123输出321;
    (3)分别顺序输出每位数字;
    [ 2 ] 解决:
    (1)求位数
    ****思路:
    求一个数为几位数,采取丢数字的方法,每次丢掉后面的一位保留前面的,直至到0,所以我们利用除法“/”,设置一个累加器,丢一次加一下,最后累加器的值即表示它为几位数。如下图

    ****代码:
    在visual上编译代码运行如下图
    在这里插入图片描述

(2)按逆序输出个位数字,例如123输出321;
****思路:
在第一问求位数时,每次都用“/”丢掉最后一位,现在我们需要逆序输出,可以在它丢掉数字前先使用一下,即保留后面的数字,丢掉前面的,所以用运算符“%”,得到最后一个数后,丢掉,再求倒数第二个数输出。如下图
在这里插入图片描述
****代码:
在visual上编译代码运行如下图
在这里插入图片描述
(3)分别顺序输出每位数字;
****思路:要顺序输出每一位数字,即将前面的数字输出,再舍弃第一位,求得第二位数字再输出,再舍弃,重复这样的工作,直至n=0,但若n的位数不确定,就不能得到第一位,第二位,因为我们得到第一位的办法是用“/” n/(10的i次方)=丢掉 n 后面的 i 位数,保留前面的数,所以先调用第一个函数求出位数,再进行求解。如下图
在这里插入图片描述
****代码:
在visual上编译代码运行如下图
在这里插入图片描述

  • 总结:
    相信你现在一定对“/”和“%”的用法了如指掌了吧,在用的时候一定要注意相关事项哦!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值