厘米换算英尺英寸 (写了三种方法全部都有错)

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

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

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

输入样例:
170
(结尾无空行)
输出样例:
5 6
(结尾无空行)

做法一:

#include<stdio.h>
int main()
{
    int lm,foot,inch;
    scanf("%d",&lm);
    foot=lm/30.84;
    inch=(lm/30.84-foot)*12;
    printf("%d %d",foot,inch);
    return 0;
}

提交结果:

img

做法二:

#include<stdio.h>
int main()
{
    int lm,foot;
    double inch;
    scanf("%d",&lm);
    foot=lm/30.84;
    inch=(lm/30.84-foot)*12;
    printf("%d %.0lf",foot,inch);
    return 0;
}

提交结果:

img

做法三:

#include<stdio.h>
int main()
{
    int lm,foot;
    double inch;
    scanf("%d",&lm);
    foot=lm/30.84;
    inch=(lm/30.84-foot)*12;
    if(inch+0.5>=12)
    {
        inch--;
    }
    printf("%d %.0lf",foot,inch);
    return 0;
}

提交结果:

img


foot=(int)(lm/30.84);
inch=(int)((lm/30.84-foot)*12);