今天这个主题字面上是用C语言实现厘米转换英尺英寸。
本课题是基本编程题目集中包含的编程问题的第一个问题。逻辑上不难,但既然这个问题的题目含义有歧义,为什么要提高呢?
标题要求,逻辑合理化
话不多,我们先看看这个主题的要求。
1.如果知道英制长度的英尺foot和英寸inch值,则相应的米为(foot inch/12)*0.3048。
2.现在,您必须输入厘米(cm)数,以获得与英制长度相对应的英尺(foot)和英寸英寸英寸(inch)值。
3,1 foot=12英寸。
以上是给出的要求。逻辑上,我知道这些要求是好的。我们可以根据数学公式将foot和inch分别以cm的形式表示,也就是表达式。
但这是个问题。
如图所示,根据题目要求计算的foot和cm的对应关系是这样的。
但是当我具体做这个编程问题的时候,用这种方式代入是错误的。
所以我去网上查了一下一英尺到底有多少厘米。
最终得到1foot=30.48cm厘米。
代码实现
在弄清皮特和cm之间的关系后,我们也明白了该怎么写这段代码。
1、要求输入数字,我们自然会想到使用scanf函数。
输入2,1foot=30.48cm,输入cm数,因此foot值必须为foot=cm。
3.因为1foot=12inch,所以可以得到inch=30.48*cm/12,但是这样做也有问题。这个主题成了问题,因为我们要根据这个公式寻求inch和cm之间的对应。
需要将结果保留为整数,因此可以用int类型表示inch和foot。
# include
Int main(){
int foot=0;
int inch=0;
int cm=0;
扫描(' %d ',cm);
Foot=cm
inch=(cm-foot)* 12;
Printf('%d %d ',foot,inch);
}测试结果
这个主题到这边已经完成了,但我们可以看到这个问题在进行检查时要求的。
每个都有四个测试点。
1、sample、inch尾数不大于0.5,不是四舍五入,而是被截断。这是因为使用了int数据类型,直接减去了小数点后的数字。
2,0,也用作测试点。
3、foot为零时也应该为零。
4、inch为零时也应该为零。
这个程序可以满足这些测试点。
摘要
这个主题是因为题目模糊不清,当然是因为不知道英尺英寸和厘米的关系,或者是因为需要更加注意这种常识的知识。(莎士比亚)。