注册 登录
编程论坛 C语言论坛

把单位为cm的身高转化为英尺(整数)和英寸(整数),为什么这样不行呀?

哭哭 发布于 2021-05-07 22:08, 1268 次点击
#include <stdio.h>

int main()
{
    double a;
    double foot;
    double inch;
    int t1;
    int t2;
    foot=a/30.48;
    t1=foot;
    inch=a%30.48*12.0;
    t2=inch;

    scanf("%f",&a);
    printf("foot=%d inch=%d\n",t1,t2);
   
    return 0;
}
1 回复
#2
夏天q2021-05-08 07:15
变量a运算前并没有赋值 scanf给a赋值在最后面,要把它放前面
    scanf("%f",&a);
    printf("foot=%d inch=%d\n",t1,t2);

小数是没有余数的,不能取余
inch=a%30.48*12.0;

可以修改为以下代码
程序代码:
#include <stdio.h>
int main(void) {
    int foot, inch;
    int meter;
    scanf("%d", &meter);
    foot = meter / 30.48;
    inch = (meter - 30.48 * foot) / 30.48 * 12;
    printf("foot=%d inch=%d\n", foot, inch);
    return 0;
}
1