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

题目:

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

输入格式:

输入一个正整数,做为厘米数。

输出格式:

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

分析:

我对这个题目的理解是,输入一个整数(单位为cm),将其换算为几英尺几英寸

(1)将数据根据公式转化为几英尺,由于定义类型为int整数类型,小数部分会自动去掉

(2)而计算英寸时,需要用到上述计算出的几英尺的小数部分,再去乘12进行转换,同样,结果在赋值时会自动去掉小数部分。

(3)对公式的理解:(foot+inch/12)就是带小数的英尺,即口头上说的:几点几英尺

      int foot=cm/30.48; 得到的即是几点几英尺的整数部分

   (cm/30.48-foot)这个式子即是几点几英尺的小数部分

而这个式子为什么不会自动去掉小数部分?原因是30.48是小数,计算机在整数小数混合运算时结果为小数,所以在赋值给inch这个整数类型变量之前,式子的结果是小数

代码如下:

#include<stdio.h>
int main()
{
    int cm,foot,inch;
    scanf("%d",&cm);
    foot=cm/30.48; 
    inch=(cm/30.48-foot)*12;
    printf("%d %d",foot,inch);
    return 0;
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值