llf123456 发表于 2020-10-29 17:16:53

求大佬帮帮我

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

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

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

#include <stdio.h>
int main(void)
{
   int foot,inch;
   int meter;
   printf("输入数据,单位是厘米:");
   scanf("%d",&meter);
   foot = meter/30.48;
   inch = (meter-30.48*foot)/30.48*12;
   printf("%d %d\n",foot,inch);
   return 0;
}
//inch的值这样算的话不是一直为0吗呜呜 我转不过弯来

jackz007 发表于 2020-10-29 18:08:49

本帖最后由 jackz007 于 2020-10-29 18:34 编辑

#include <stdio.h>
int main(void)
{
      int meter , foot , inch            ;
      printf("输入数据,单位是厘米:")      ;
      scanf("%d" , & meter)                ;
      inch = meter / 2.54                  ;
      foot = inch / 12                     ;
      inch = inch % 12                     ;
      printf("%d %d\n" , foot , inch)      ;
}

编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
输入数据,单位是厘米:182
5 11

D:\00.Excise\C>

乐乐学编程 发表于 2020-10-29 23:39:08

来看看

风过无痕1989 发表于 2020-11-1 21:40:23

你的计算公式有错,程序中已经帮你改了

#include <stdio.h>
int main(void)
{
        double foot, inch;
        double meter;
        printf("输入数据,单位是厘米:");
        scanf("%lf", &meter);
        foot = meter / 30.48;            // 1 英尺(foot) = 30.48 厘米(cm)
        inch = meter / 2.54;            // 1 英寸(inch) = 2.54 厘米(cm)
        printf("%.1lf 厘米 = %.5lf 英尺\n", meter, foot);
        printf("%.1lf 厘米 = %.5lf 英寸\n", meter, inch);
        system("pause");
        return 0;
}

乐乐学编程 发表于 2020-11-2 23:41:09

兄弟,你的换算确实是错了
页: [1]
查看完整版本: 求大佬帮帮我