C++ 牛客网 18839 题解:华氏温度转摄氏温度
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;
}
代码解析:
#include<bits/stdc++.h>:包含标准 C++ 库的头文件,提供常见的输入输出、数学函数等功能。using namespace std;:使用标准命名空间,避免每次使用标准库中的元素都要加上std::前缀。int main():程序的入口函数,程序从这里开始执行。double f, c;:声明两个双精度浮点数变量 'f' 和 'c',分别用于存储华氏温度和摄氏温度。cin >> f;:从标准输入读取一个浮点数,并将其存入变量 'f' 中。c = 5/9*(f-32);:计算摄氏温度 'c',公式为c = 5/9 * (f - 32)。printf("%.3lf",c);:将计算得到的摄氏温度 'c' 输出到标准输出,并保留三位小数。return 0;:程序正常退出,返回 0 值。
总结:
本题主要考察对 C++ 基本语法和运算符的理解,以及对变量作用域的认识。需要注意的是,在使用变量之前,必须先对它进行初始化赋值,否则会产生不可预料的结果。
原文地址: https://www.cveoy.top/t/topic/craI 著作权归作者所有。请勿转载和采集!