- 解题思路整理:
1.问题表现形式:英制单位与公制单位的转换
a.已知某人身高某英尺某英寸,求厘米数?
b.已知某人身高几米几,求几英尺几英寸?
2.解决套路:
a.抓住核心转换关系式
1英尺(foot)= 0.3048米(m)
1英尺(foot)= 12英寸(inch)
b.化为最方便(离核心转换公式最近的)-- 本题的核心转化公式是英尺与米的转换
(给:英尺英寸,全部化为英尺,便于化为米)
e.g 1: 已知某人身高 5英寸10英尺,求此人身高的厘米数?
#include<stdio.h>
int main(void)
{
int foot = 5, inch = 10;
int cm;
cm = (foot + inch / 12.0) * 0.3048 * 100;
printf("此人身高为%dcm\n",cm);
return 0;
}
(给:米厘米,全部化为米,便于化为英尺)
e.g 2:已知某人身高 178cm,求此人身高为几英尺几英寸?
#include<stdio.h>
int main(void)
{
int cm = 178;
int foot, inch;
foot = (178 / 100.0) / 0.3048;
inch = ((178 / 100.0) / 0.3048 - foot ) * 12;
printf("此人身高为%d英尺%d英寸\n", foot, inch);
return 0;
}
- 总结:
C语言中,整数与整数的运算结果是整数,整数与浮点数的运算结果是浮点数。
在括号内的计算也一定要满足此要求,特别是你需要浮点数的情况下,保证:每一步都含有浮点数 。