问题背景:
PAT题目集:中M2021春C、Java入门练习第I段——变量、表达式、分支、循环
易错点
强制类型转换的格式
正确写法为 (类型说明符)(表达式),当表达式为单个变量时可省略表达式的括号,但是类型说明符一定要加括号,强制类型转换时是直接截断,而不是四舍五入法。
不同单位间的换算
前几次写的由cm换算成英尺的表达式全都写错了,分别写错了换算公式和忘记厘米与米之间的换算。
换算公式可以由熟悉的米与厘米之间的换算来类比写出,尽量不要想当然。
正确解法:
正确的单位换算为1英尺=12英寸=0.3048m=30.48cm
即1cm=12/30.48英尺。
因此已知cm求inch计算公式为inch=cm*(12/30.48)
#include<stdio.h>
int main(){
int cm=0;
int foot=0,inch=0;
scanf("%d",&cm);
double inch_all=cm*(12/30.48);
foot=(int)(inch_all)/12;
inch=(int)(inch_all)%12;
printf("%d %d",foot,inch);
return 0;
}