题目:
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸
公式的含义:整型+小数,可以看成是(5.6英尺、9.3英尺、3.7英尺这样的表述方式)。举个例子,5.6英尺就是5英尺+0.6英尺(5英尺是60英寸,0.6英尺就是7.2英寸),所以可以得到:5.6英尺等于67.2英寸。搞明白这个就知道公式具体表达了什么
通过厘米求英尺和英寸:现在170厘米等于170cm/30.48=5.57742英尺,那么等于5英尺加上一个0.几的英尺,对吧。理解了这个,就相当于把小数部分换算成英寸即可(就是零点几的英尺等于多少英寸),那么把小数部分乘上12,也就是0.57774*12=6.9291338英寸,由于当时设置的变量为int型,即取整自动变为6。
#include <stdio.h>
int main() {
int cm, foot, inch;//厘米、英尺、英寸
scanf("%d", &cm);
float temp = cm / 30.48;//这里得到的实际上是 m.n英尺 这个数据
foot = (int) temp;//得到整数部分m
inch = (temp - foot) * 12;//m.n-m=0.n,然后通过 0.n*12 换算成英寸
printf("%d %d", foot, inch);
return 0;
}
170cm=5.577英尺