如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
输入格式:
输入在一行中给出1个正整数,单位是厘米。
输出格式:
在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。
输入样例:
170
结尾无空行
输出样例:
5 6
结尾无空行
分析
第一次看到这道题会相当费解,被公式迷惑。。。
实际上它的意思是,给你几英尺几英寸求对应的身高(米)。
比如5英尺7英尺,根据公式 height = (foot+inch/12)×0.3048 => (5+7/12)×0.3048 = 1.7018m
现在反过来,给你最终的身高,让你求对应的英尺和英寸。
我们观察公式发现,所谓的几英寸几英寸,已经给你分好了。
为什么这么说?最后一句话:别忘了1英尺等于12英寸。也就是说如果公式里的inch/12大于1,就会转换成1英尺,因此它是英尺对应的小数部分。
而公式里的foot是整数部分。
#include <stdio.h>
int main()
{
int cm;
scanf("%d", &cm);
int foot = cm/30.48; // m/100.0/0.3048 用/做整除从而得到整数部分
// 用总数减去整数部分就得到了小数部分inch/12,再乘以12就得到了inch.
int inch = (cm/30.48-foot)*12;
printf("%d %d", foot, inch);
return 0;
}