7-6 厘米换算英尺英寸

如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。

PTA C语言 7-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;
}