donjames 发表于 2021-9-5 14:04:22

想问一下这个哪里有问题

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

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

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

输入样例:
170
输出样例:
5 6
#include<stdio.h>
int main()
{
    double foot,inch,cm;
    scanf("%lf",&cm);
    foot = cm/100/0.3048/145*144;
    inch = (foot - (int)foot)*12;
    foot = (int)foot;
    printf("%.0lf %.0lf",foot,inch);
    return 0;
}

baige 发表于 2021-9-5 14:53:11

        sample, inch 尾数大于0.5,不是四舍五入而是截断
#include<stdio.h>
int main()
{
    double foot,inch,cm;
    scanf("%lf", &cm);
    foot = cm/100/0.3048/145*144;
    inch = (foot - (int)foot)*12;
    foot = (int)foot; inch = (int)inch;
    printf("%.0lf %.0lf", foot, inch);
    return 0;
}

baige 发表于 2021-9-5 14:53:59

使用%.0f小数部分会4舍5入
截断就行了
inch = (int)inch;

donjames 发表于 2021-9-5 16:09:23

好的,多谢了
页: [1]
查看完整版本: 想问一下这个哪里有问题