7-1 厘米换算英尺英寸

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

输入格式

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

输出格式

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

输入样例

170

输出样例

5 6

分析及答案

已知:

meter=(foot+inch÷12)×0.3048

cm=(foot+inch÷12)×30.4812×cm=inch×30.48inch=cm×12÷30.48

先计算出输入的厘米值对应的英寸值,再计算英尺值。整个计算中涉及小数点,需要用浮点型储存变量,但是最后输出时结果要求是两个整数,需要使用显式类型转换。

# include <stdio.h>

/*
    meter=(foot+inch/12)*0.3048
    cm = (foot+inch/12)×30.48
    12*cm = inch*30.48
*/

int main () {
    double cm = 0, inch = 0;
    int foot = 0;
    scanf ("%lf", &cm);
    //计算英寸值
    inch = cm * 12 / 30.48;
    //计算英尺值
    foot = (int) inch / 12 ;
    //在英寸值中减去已经换算成英尺的部分
    inch -= foot*12;
    printf ("%d %d",foot, (int) inch);
    return 0;
}

7-1 测试点