零、写在前面
目前本专栏正在进行优惠活动,在博主主页添加博主好友(好友位没有满的话),可以获取 付费专栏优惠券。
今天是学习 「 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
语句的功能;
四、推荐专栏
五、习题练习
序号 | 题目链接 | 难度 |
---|---|---|
1 | 两数相除 | ★☆☆☆☆ |