C++PTA题解(1)——厘米换算英尺英寸

题目信息

题名:厘米换算英尺英寸

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

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

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

分析题目

这一期是C++PTA题解的第一章,但PTA第一章就耍我[哭笑]。

当你看到上面公式你是不是特别开心,立刻就写,结果没对几个测试点?题目中的公式虽然好,但是太麻烦,需要各种计算,而且出错率特别高。最好的方法是自己找进制,自己想公式。

这里就不和大家卖关子了,大致思路如下:

  1. 先声明一个变量,为了防止出幺蛾子,就设成long类型
  2. 然后分别计算ft(英尺)和in(英寸)
  3. 输出ft和in

个人想法是先计算ft的值,然后用*12的方式求英寸

英尺求法:cm/100.0/0.3048

英寸求法:(cm/100.0/0.3048 - ft)*12

示例代码

“废话”了这么久,终于上代码了

#include<bits/stdc++.h>
using namespace std;
int main(){
    long cm;
    cin>>cm;
    long ft=cm/100.0/0.3048;
    long in=(cm/100.0/0.3048 - ft)*12;
    cout<<ft<<" "<<fn;
    return 0;
}
posted @ 2022-07-19 19:46  GitTJBKBeta  阅读(117)  评论(0编辑  收藏  举报