题目描述
给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。
输入格式
一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。
输出格式
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
输入输出样例 #1
输入 #1
10 3
输出 #1
3 1
输入输出样例 #2
输入 #2
20 4
输出 #2
5 0
说明/提示
对于 100 % 100 \% 100% 的数据, 0 ≤ a ≤ 100 0 \le a \le 100 0≤a≤100, 1 ≤ b ≤ 100 1 \le b \le 100 1≤b≤100。
以下是使用C语言实现相同功能的代码:
c
#include <stdio.h>
int main(void) {
int a, b;
scanf("%d %d", &a, &b);
double result = (double)a / b;
printf("%.9f\n", result);
return 0;
}
关键点解析:
- 输入处理
- 使用
scanf("%d %d", &a, &b)
读取两个整数,对应Python的map(int, input().split())
。 - 注意:C语言需要显式传递变量的地址(
&a
,&b
)。
- 使用
- 浮点数除法
- 必须将其中一个操作数强制转换为
double
(如(double)a
),否则整数除法会直接截断小数部分。 - 例如:
5 / 2
在C中结果为2
,但(double)5 / 2
得到2.5
。
- 必须将其中一个操作数强制转换为
- 格式化输出
- 使用
printf("%.9f\n", result)
实现保留9位小数,对应Python的"{0:.9f}".format(result)
。 %.9f
会自动补零或四舍五入到第9位(例如:输入5 3
,输出1.666666667
)。
- 使用
- 注意事项
- 未处理除数为零的情况(与原始Python代码一致),实际应用中需添加错误检查。
- C语言中
double
的精度约为15位小数,完全满足9位输出要求。