如果已知英制长度的英尺 foot 和英寸 inch 的值,那么对应的米是 (foot + inch / 12) × 0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了 1 英尺等于 12 英寸。
输入格式:
输入在一行中给出 1 个正整数,单位是厘米。
输出格式:
在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。
输入样例:
170
输出样例:
5 6
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/14/exam/problems/781
提交:
题解:
题干所给公式 meter = (foot + inch / 12) × 0.3048 的含义是在已知 foot 和 inch 的情况下,可以转换得到对应 meter 的值,而题目需要编程实现的是给你一个 centimeter,让你转换这个 centimeter 对应多少 foot 多少inch。
在题干所给公式的基础上等式两边同时乘以 100 则有 centimeter = (foot + inch / 12) × 30.48,则可据此推导公式换算出厘米对应的英尺和英寸。
#include <stdio.h>
int main() {
int centimeter;
scanf("%d", ¢imeter);
// 1 英尺等于 30.48 厘米
int foot = centimeter / 30.48;
// 将剩下的不足 1 英尺部分转换为英寸
int inch = 12 * (centimeter / 30.48 - foot);
printf("%d %d\n", foot, inch);
return 0;
}