【第04题】给定 a 和 b,问 a 能否被 b 整除 | if 语句 和 条件运算符的应用

100 篇文章 538 订阅 ¥999.99 ¥99.90

零、写在前面

  目前本专栏正在进行优惠活动,在博主主页添加博主好友(好友位没有满的话),可以获取 付费专栏优惠券
  今天是学习 「 C语言 」 打卡的第四天,学习方式很简单,每天我会提供一篇文章供群成员阅读,阅读完本文,做完课后的 「习题练习 」 ,在 万人千题 社区对应的 「 打卡帖 」 下打卡,今天的任务就算完成了。
  很多人问,打卡的时候提示需要填写一个 「 链接 」,可以不用理会,直接提交 「 打卡 」 二字。也可以填写自己对今天打卡的 「 心得和感悟 」,或者 「 解题报告 」
  因为大家都在学习,所以一旦遇到问题都可以在群里问,群成员能够做出更加快速的反馈,高效的达成学习的目的。学有余力的同学可以在 万人千题 社区发布每天练习的解题报告。

一、题目描述

  先输入一个 t t t,然后输入 t t t 组数据,对于每组数据,输入两个整数 a a a b b b,如果 a a a 能够被 b b b 整除,则输出 YES,否则输出 NO

二、解题思路

难度:🔴⚪⚪⚪⚪

  • 首先,当 b b b 等于 0 时, a a a 是一定不能被 b b b 整除的;
  • 然后,就是看 a a a 除上 b b b 的余数是不是零了,这步运算在C语言中表示为a % b

三、代码详解

1、if else 语句

#include <stdio.h>
int main() {
    int a, b, t;
    scanf("%d", &t);             // (1)
    while (t--) {                // (2)
        scanf("%d %d", &a, &b);
        if (b == 0 || a % b)     // (3)
            printf("NO\n");
        else
            printf("YES\n");
    }
    return 0;
}
  • ( 1 ) (1) (1) 输入 t t t 组数据;
  • ( 2 ) (2) (2) while(t--)等价于while(t-- != 0),当 t = 0 t=0 t=0 的情况下,这个循环就会结束,也就是说整个循环会执行一开始输入的那个t的次数;
  • ( 3 ) (3) (3) 根据本题的题意,用逻辑运算符||(或)对两种情况输出 N O NO NO,一种是 b等于0,另一个中是 a % b不等于0;

2、条件运算符

#include <stdio.h>
int main() {
    int a, b, t;
    scanf("%d", &t);
    while (t--) {
        scanf("%d %d", &a, &b);
        printf("%s\n", (b == 0 || a % b) ? "NO" : "YES"); // (1)
    }
    return 0;
}
  • ( 1 ) (1) (1) 采用条件运算符?:来实现if else语句的功能;

四、推荐专栏

🌌《算法零基础100讲》🌌

五、习题练习

序号题目链接难度
1两数相除★☆☆☆☆
👇🏻 关注公众号 观看 精彩学习视频👇🏻
  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
### 回答1: 回答你的,根据您的要求,如果a能够被b整除,a/b输出为整数格式,否则a/b输出为带两位小数的格式。为了实现这个逻辑,我们可以使用Python中的条件语句来判断a能否被b整除,然后选择不同的输出格式。下面是一个代码示例: ``` a = 10 b = 2 if a % b == 0: print(int(a/b)) else: print('{:.2f}'.format(a/b)) ``` 在这个示例中,我们将a和b分别设置为10和2。然后,我们使用条件语句来判断a是否能够被b整除,如果能够整除,代码将输出整数格式的a/b,如果不能整除,代码将输出带有两位小数的格式的a/b。我们使用Python中的.format()方法来格式化输出的字符串。如果a/b是一个整数,我们使用int()函数将其转换为整数类型。如果a/b不是一个整数,我们使用.format()方法将输出格式化为带有两位小数的字符串。 ### 回答2: 要判断a是否能被b整除,可以通过判断a对b取余是否为0来实现。如果a能够被b整除,则a%b的结果为0;否则,a%b的结果不为0。 根据给定的条件,如果a能被b整除,即a%b为0,那么a/b应该输出整数格式。可以直接使用整数除法(取整)运算符"//"来取得整数形式的结果。例如,若a为10,b为5,则a/b的结果为2,即输出整数格式。 如果a不能被b整除,即a%b不为0,那么a/b应该输出带两位小数的格式。可以使用浮点数除法运算符"/"来得到带两位小数的结果,并通过格式化字符串的方式保留两位小数。例如,若a为10,b为3,则a/b的结果为3.33,即输出带两位小数的格式。 综上所述,通过判断a%b是否为0,可以确定应该使用整数除法还是浮点数除法来输出a/b的格式。根据不同的情况,选择相应的运算符和格式化输出方式即可。 ### 回答3: 如果a能够被b整除,那么说明a和b之间存在整除关系,即a/b会产生一个整数结果。所以在这种情况下,a/b的输出应为整数格式。 而如果a不能被b整除,那么a/b会产生一个小数结果。为了输出带有两位小数的格式,我们可以进行以下计算: 1. 首先将a除以b得到一个小数结果。 2. 然后将小数结果保留两位小数,即四舍五入到第二位小数。 3. 最后按照带有两位小数的格式进行输出。 通过这样的运算,我们可以确保a/b在不能整除的情况下输出为带两位小数的格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

英雄哪里出来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值