【C题】如果已知英制长度的英尺f oot和英寸inch的值,那么对应的米 是(foot + inch/12) x 0.3048。现在,如果用户输入的是厘 米数,那么对应英制长度的英尺和英寸是多少呢?

您所在的位置:网站首页 3048米是多少英尺 【C题】如果已知英制长度的英尺f oot和英寸inch的值,那么对应的米 是(foot + inch/12) x 0.3048。现在,如果用户输入的是厘 米数,那么对应英制长度的英尺和英寸是多少呢?

【C题】如果已知英制长度的英尺f oot和英寸inch的值,那么对应的米 是(foot + inch/12) x 0.3048。现在,如果用户输入的是厘 米数,那么对应英制长度的英尺和英寸是多少呢?

2024-07-13 23:03| 来源: 网络整理| 查看: 265

在这里插入图片描述

分析

根据公式倒推出foot与inch的值。

注意点 公式给的单位是 米 ,而输入值的单位是 厘米公式中的0.3048为小数,float类型的,而输入和输出的值均为 整数,int类型。1英尺=12英寸,将这个条件理解为 十二进制的计算,更好理解。单纯的以数学公式的角度带入很容易出错。 正解 #include int main() { int cm; scanf("%d",&cm); int foot; int inch; float k=cm/30.48; foot=(int)k; inch=(k-foot)*12; printf("%d %d",foot,inch); return 0; }

从式子上看

k=foot+inch/12

类比于十进制(例:7.9,则foot=7,inch=9。k=7.9=7+9/10) 这里的foot即为k的整数部分,inch则为小数部分。

思路误区 inch_cm=((cm/30.48)*12); //将厘米转化为英寸 inch_cm=inch_cm/(12*12+1); foot=inch_cm/12; inch=inch_cm%12;

只有整数可以取余,float无法进行取余计算。 此错误做法则是完全用数学公式的思维。在数学中,值不严格区分整数和小数的类型。算出来的什么类型就是什么类型。 而计算机定义了int则会舍弃小数部分,定义了float则不能使用部分int的计算规则



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3