关于c++语法小知识

这次学习的是如何区分/与%

想必在大多数情况下,能够很好区分

“/”这个符号表示为÷(除号),如246/100=2

“%”这个符号表示为取余,如246%100=46,也可以这样理解246%100=246/200=1...46

来看到例题

问:468可以数量最少可以分为几个100,几个50,几个20,几个10,几个5,几个1。

看到题目,我们首先理清自己思路

468/%
除数余数
100468
50118
20018
1018
513
130

从上述表格,我们可知我们想要得到商(/)这里的结果作为最终结果,但其中余数(%)又参与了其中运算。

#include<cstdio>

int main(){
    
    int n;
    scanf("%d",&n); //n = 468
    printf("%d能分成",n);
    printf(" %d张100,", n/100); //输出值为4
    n %= 100;    //等同于n = n % 100,此时n=68
    printf("%d张50,", n/50);//以n=68执行除50操作,输出值为1
    n %= 50;    //68 % 50 = 68 / 50...18   n = 18
    printf("%d张20,", n/20);//输出值为0
    n %= 20;    //n = 18
    printf("%d张10,", n/10);//输出值为1
    n %= 10;    //n = 8
    printf("%d张5,", n/5);//输出值为1
    n %= 5;    //n = 3
    printf("%d张1", n );//输出值为3
    return 0;
}

该方法适用于零基础小白,本质上这属于贪心算法,之后会进行补充

下图为该程序运行结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值