PTA 厘米换算英尺英寸

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

输入格式:

输入在一行中给出1个正整数,单位是厘米。

输出格式:

在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。

输入样例:
170
输出样例:
5 6


题目不难,唯一算是难点的地方在于:解答者容易陷入题目所给公式的误区里,总想着把公式倒过来便能解决。我就是在这个误区绕了很久。
正确的解题思路是:
让输入的厘米除以30.48,便是带小数的英尺,直接取整便是所得英尺。
将小数部分乘以12并取整,便为英寸

#include <stdio.h>
int main()
{
    /*1英尺等于12英寸  
    (foot+inch/12)×0.3048 == 英尺 * 0.3048  == meter
    即   英尺 == meter /0.3048;    
        而英尺又由两部分组成(foot+inch/12) 整数部分的foot 以及小数部分的 (inch/12) 
        所以 meter /0.3048 取整即为 foot
         meter /0.3048 - foot 即为小数部分 inch/12  即小数部分为 12 *(meter /0.3048 - foot); 
    */ 
    int cm=0;
    scanf("%d",&cm);    //输入的cm
    int foot = cm/100.0/0.3048;  /* 1英尺等于30.48厘米 */
    int inch = (cm/100.0/0.3048 - foot) * 12;
    printf("%d %d",foot,inch);
    return 0;
}
  • 39
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值