原 中M2018秋C入门和进阶练习 7-6

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

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

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

输入样例:
170
输出样例:
5 6

作者:你好啊生活
原文:https://blog.csdn.net/weixin_39504900/article/details/81431578
给出的正确答案和解释

#include<stdio.h>
int main()
{
    int a,foot,inch;
    scanf("%d",&a);
    foot=a/100.0/0.3048;
    inch=(a/100.0/0.3048-foot)*12;
    printf("%d %d\n",foot,inch);
    return 0;
}

这位老哥给的是先求出英尺再求英寸。
我之前写的是这样的:

#include<stdio.h>
int main() 
{
	int n;
	int inch;
	int foot;
	scanf("%d",&n);
	float m = (float) n / 100;
 	inch = (int)(m /0.3048 )%12;
 	if( (m/0.3048 - inch) >0.5)
 		inch = inch +1;
 	foot = (m /0.3048 ) - inch /12;
 	printf("%d %d",foot,inch);
	return 0;
}

最后运行的时候是结果部分正确,整型浮点型强制型转化转的头晕,也没写对。之前想着是先求出英寸,然后再将英寸转化成英尺。

猜你喜欢

转载自blog.csdn.net/li_yizhixiaowukong/article/details/85526572