C++ 牛客网 18839 题解:华氏温度转摄氏温度

来源: 牛客网

链接: https://ac.nowcoder.com/acm/contest/18839/1032

题目描述

输入一个浮点数'f', 表示华氏温度, 输出对应的摄氏温度'c', c=5/9*(f-32)

输入描述:

输入一个浮点数'f'(1 <= f<= 100000)

输出描述:

输出浮点数, 保留3位小数

错误代码:

#include<bits/stdc++.h>
using namespace std;

int main(){
    double f, c;
    c = 5/9*(f-32);
    cin >> f;
    printf("%.3lf",c);
    return 0;
}

问题分析:

在代码中,变量'f'在计算'c'的值之前被使用,导致'c'的计算结果不正确。正确的代码应该将输入语句放在计算语句之前,如下所示:

修正代码:

#include<bits/stdc++.h>
using namespace std;

int main(){
    double f, c;
    cin >> f;
    c = 5/9*(f-32);
    printf("%.3lf",c);
    return 0;
}

代码解析:

  1. #include<bits/stdc++.h>:包含标准 C++ 库的头文件,提供常见的输入输出、数学函数等功能。
  2. using namespace std;:使用标准命名空间,避免每次使用标准库中的元素都要加上 std:: 前缀。
  3. int main():程序的入口函数,程序从这里开始执行。
  4. double f, c;:声明两个双精度浮点数变量 'f' 和 'c',分别用于存储华氏温度和摄氏温度。
  5. cin >> f;:从标准输入读取一个浮点数,并将其存入变量 'f' 中。
  6. c = 5/9*(f-32);:计算摄氏温度 'c',公式为 c = 5/9 * (f - 32)
  7. printf("%.3lf",c);:将计算得到的摄氏温度 'c' 输出到标准输出,并保留三位小数。
  8. return 0;:程序正常退出,返回 0 值。

总结:

本题主要考察对 C++ 基本语法和运算符的理解,以及对变量作用域的认识。需要注意的是,在使用变量之前,必须先对它进行初始化赋值,否则会产生不可预料的结果。


原文地址: https://www.cveoy.top/t/topic/craI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录