C语言厘米换算英尺英寸

img

错误点在哪?如果将网上答案的第七行改成:inch=centimeter/(0.3048*100)%12;这错在哪?‘%’不就是余的意思吗?另外int整型类数据进行“/”和‘%’运算一定错还是这两种运算必须是float或double类型才行?
这是我自己写的:

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

这是网上答案:

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

cm/100
因为cm是整数,100也是,所以这是整除
为了避免精度问题
修改成
cm/100.0

先把foot和inch与centimeter之间的运算公司先列出来。
英尺foot不需要与12求余;
英寸inch也不需要除以12;
这是属于数学公式推导的问题。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^