如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
输入格式:
输入在一行中给出1个正整数,单位是厘米。
输出格式:
在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。英寸的值应小于12。
输入样例:
170
输出样例:
5 6
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
我一开始也很奇怪,不是说1英尺=12英寸,但是为什么结果是5 6
看答案也没看懂
foot = n/30.48;
inch =12*(n/30.48-foot);
foot不就是n/30.48吗,那不是等于0了?
后面想了一下明白了,英尺英寸就跟分和秒一样,用分和秒一起来表示时间,秒最多就到59,再多就增加一分钟了,英寸也一样,满12就加一英尺了。
所以我们先求英尺,foot = n/30.48;因为默认取整,所以余数是不满一英尺的,剩下部分用英寸来表示,然后inch =12*(n/30.48-foot) 把余数×12,就是英寸为单位了,注意这里的foot看起来跟前面是一样的,但其实这里foot是已经取整过了,在计算inch时前面还没取整,是可以得到剩下的英寸的
#include<stdio.h>
int main(){
int n;
int foot;
int inch;
scanf("%d",&n);
foot = n/30.48;
inch =12*(n/30.48-foot);
printf("%d %d",foot,inch);
return 0;
}