鱼C论坛

 找回密码
 立即注册
查看: 1237|回复: 2

[已解决]C的困难!!!!

[复制链接]
发表于 2023-10-9 11:06:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

有两个未知数,让我算只能试根的形式计算
怎么正确设计程序呢?
最佳答案
2023-10-9 11:07:02
这道题需要将输入的厘米数转换成英尺和英寸,然后输出整数值。可以按照以下步骤设计程序:

1. 读入输入的厘米数。
2. 将厘米数转换为米数,即除以100。
3. 将米数转换为英尺和英寸。首先将米数转换为英寸,即乘以100/2.54。然后将英寸数除以12,取整即为英尺数,余数即为英寸数。
4. 输出英尺和英寸的整数值,中间用空格分开。

下面是示例代码:
#include <stdio.h>

int main() {
    int cm;
    scanf("%d", &cm);
    double m = cm / 100.0;
    int inch = (int)(m / 0.3048 * 12);
    int foot = inch / 12;
    inch %= 12;
    printf("%d %d\n", foot, inch);
    return 0;
}

在这个程序中,我们首先读入输入的厘米数,然后将其转换为米数,接着将米数转换为英尺和英寸。最后输出英尺和英寸的整数值。注意,我们在计算英尺和英寸时,使用了取整和取余的操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-9 11:07:02 | 显示全部楼层    本楼为最佳答案   
这道题需要将输入的厘米数转换成英尺和英寸,然后输出整数值。可以按照以下步骤设计程序:

1. 读入输入的厘米数。
2. 将厘米数转换为米数,即除以100。
3. 将米数转换为英尺和英寸。首先将米数转换为英寸,即乘以100/2.54。然后将英寸数除以12,取整即为英尺数,余数即为英寸数。
4. 输出英尺和英寸的整数值,中间用空格分开。

下面是示例代码:
#include <stdio.h>

int main() {
    int cm;
    scanf("%d", &cm);
    double m = cm / 100.0;
    int inch = (int)(m / 0.3048 * 12);
    int foot = inch / 12;
    inch %= 12;
    printf("%d %d\n", foot, inch);
    return 0;
}

在这个程序中,我们首先读入输入的厘米数,然后将其转换为米数,接着将米数转换为英尺和英寸。最后输出英尺和英寸的整数值。注意,我们在计算英尺和英寸时,使用了取整和取余的操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-9 11:08:03 | 显示全部楼层
问题描述:

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

输入格式:

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

输出格式:

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

解决方案:

题目要求将输入的厘米数转换为英尺和英寸,其中英尺和英寸均为整数,因此我们需要对用户输入的厘米数进行一定的处理。

具体来说,我们可以将输入的厘米数除以 0.3048 得到对应的米数,然后将米数转换为英尺和英寸,最后输出转换后的英尺和英寸即可。

转换公式为:1 英尺 = 12 英寸,1 米 = 100 厘米,1 英尺 = 0.3048 米

- 英尺 foot 的计算方法为:floor(米数 / 0.3048 / 12)
- 英寸 inch 的计算方法为:floor(米数 / 0.3048) % 12

floor 是一个向下取整的函数,用来消除小数点后面的数据。

C++ 实现代码如下:
++#include <iostream>#include <cmath>using namespace std;int main() {    int cm;    cin >> cm;    double meters = cm / 100.0;    int foot = floor(meters / 0.3048 / 12);    int inch = floor(meters / 0.3048) % 12;    cout << foot << " " << inch << endl;    return 0;}
注意事项:

在编写 C++ 程序时,注意使用合适的数据类型存储变量,避免数据溢出和精度问题。此外,对于需要进行浮点数运算的情况,我们应该使用 double 类型,在保证计算精度的同时兼顾运算速度。

为了保证程序的可读性和可维护性,建议在程序中使用注释进行说明,展示代码的功能和实现方式。同时,在程序编写完成后,应该对程序进行充分测试,以验证程序的正确性和健壮性。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表