念及博客,思之多日。忧无从下手,恐无以技撑之。
啊哈,今日乃从一位群友得一题目观之,速写。麻之(麻了)
话不多说直接看题。
如果已知英制长度的英尺f oot和英寸inch的值,那么对应的米是(foot +inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?(别忘了1英尺等于12英寸。)
输入格式:
输入在一行中给出1个正整数,单位是厘米。
输出格式:
在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。
输入样例:
170
输出样例:
5 6
好家伙,我一看。(foot +inch/12)×0.3048这不就是个数学表达式加减乘除逆转化简不就拿捏了。
第一步:先写出整体代码:
#include<stdio.h>
int main()
{
int cm,foot,inch;
double a;
scanf("%d",&cm);//输入厘米数。
a=cm/100.0/0.3048; //a来接收(foot+inch/12)的数值。
//这里完成得到英寸和英尺的算法
printf("%d %d",foot,inch);//打印收工。
return 0;
}
第二步:于是接下来实现得到foot与inch的算法
不慌,定睛一看,1英尺等于12英寸。这把英尺等于12英寸代入表达式化简不就只剩一个变量了;
这还不就轻松拿捏。
将
foot=12*inch 代入 (foot +inch/12)=a中:
(12*inch+inch/12)=a ---->inch=a*12/145;
同理
将
inch=foot/12 代入 (foot +inch/12)=a中:
(foot+foot/12/12)=a --->foot=a*144/145;
第三步:于是写出最终代码:
#include<stdio.h>
int main()
{
int cm,foot,inch;
double a;
scanf("%d",&cm);//输入厘米数。
a=cm/100.0/0.3048; //a来接收(foot+inch/12)的数值。
inch=a*12/145;
foot=a*144/145; //完成“算”法。。。。
printf("%d %d",foot,inch);//打印收工。
return 0;
}
第4步:裂开
程序运行结果:
输入170 输出应当为:5 6
其实细心的铁汁已经发现楼主在算法那已经开始凉了。
这里算法出了问题完全是题目故意陷害我(完全不是我脑袋突然抽了的原因)(滑稽)
整理思路:
咳咳,是时候表演(开始)真正的技术(吹牛皮)了。
前面已经知道 (foot +inch/12)=a,而foot以及inch都是int型,a为浮点型数据。在这里inch的取值范围是0到11([0,11])。
那么inch/12只能小于1,得到的是a的小数部分。而前面的foot则应当是a的整数部分。
那么算法应当为:
foot=a;
inch=(a-foot)*12;
有铁汁看到这啪的一下就站起来了,很快啊,说:
这里foot前面不是等于a吗,在这用(a-foot)不是等于0了吗。楼主大**(大宝贝)。
有这样想法的同志,我只能说too yang too simple。
是因为:a为双精度浮点型数据(double),foot与inch为整形数据(int)
别怪楼主为啥不说清楚,这里还是自己想得明白最好。
接下来:写出最终代码
#include<stdio.h>
int main()
{
int cm,foot,inch;
double a;
scanf("%d",&cm);//输入厘米数。
a=cm/100.0/0.3048; //a来接收(foot+inch/12)的数值。
inch=a;
foot=(a-foot)*12; //完成算法。。。。
printf("%d %d",foot,inch);//打印收工拿捏了。
return 0;
}
运行代码:
轻松拿捏了嗷铁汁们
总结:
其实这道题并不难,甚至可以说是简单。拿出来作为第一篇博客来写似乎体现不出“技术”,也看不出水平。
但是,这道题是在群里一位铁汁寻求帮助时看到的,在做这道题过程中也发现了自己的不足。我很荣幸这哥们在群里分享了这道题,让我能够认识自己的不足。害,第一次写,也想不出来什么骚话。
或许在以后自己回来看这篇帖子时会觉得当时的自己不过是初出茅庐,too yang too simple。
但是吧,在编程的过程中不就是在不断与人交流学习吗。或许我们很多认为的懂了,不过是自认为懂了吧。。。。
------------------------------------------------------------------分割线------------------------------------------------------
编程的第25天
记来自CSDN的第10天