目录
- C++ 将摄氏温度转换为华氏温度的多种方法
- 1. 基本方法(直接计算)
- 2. 使用函数封装
- 3. 使用宏定义
- 4. 使用内联函数
- 5. 使用类和方法
- 6. 使用模板函数
- 7. 使用lambda表达式(C++11及以上)
- 8. 使用constexpr函数(C++11及以上)
C++ 将摄氏温度转换为华氏温度的多种方法
在C++中,将摄氏温度转换为华氏温度(使用公式 F = C × 9/5 + 32)有多种实现方式。以下是几种常见的方法:
1. 基本方法(直接计算)
#include <iostream>
using namespace std;
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
double fahrenheit = celsius * 9 / 5 + 32;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return 0;
}
2. 使用函数封装
#include <iostream>
using namespace std;
double celsiusToFahrenheit(double celsius) {
return celsius * 9 / 5 + 32;
}
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << celsiusToFahrenheit(celsius) << "°F" << endl;
return 0;
}
3. 使用宏定义
#include <iostream>
#define C_TO_F(c) ((c) * 9 / 5 + 32)
using namespace std;
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << C_TO_F(celsius) << "°F" << endl;
return 0;
}
4. 使用内联函数
#include <iostream>
using namespace std;
inline double celsiusToFahrenheit(double celsius) {
return celsius * 9 / 5 + 32;
}
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << celsiusToFahrenheit(celsius) << "°F" << endl;
return 0;
}
5. 使用类和方法
#include <iostream>
using namespace std;
class TemperatureConverter {
public:
static double celsiusToFahrenheit(double celsius) {
return celsius * 9 / 5 + 32;
}
};
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << TemperatureConverter::celsiusToFahrenheit(celsius) << "°F" << endl;
return 0;
}
6. 使用模板函数
#include <iostream>
using namespace std;
template <typename T>
T celsiusToFahrenheit(T celsius) {
return celsius * 9 / 5 + 32;
}
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << celsiusToFahrenheit(celsius) << "°F" << endl;
return 0;
}
7. 使用lambda表达式(C++11及以上)
#include <iostream>
using namespace std;
int main() {
auto c_to_f = [](double c) { return c * 9 / 5 + 32; };
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << c_to_f(celsius) << "°F" << endl;
return 0;
}
8. 使用constexpr函数(C++11及以上)
#include <iostream>
using namespace std;
constexpr double celsiusToFahrenheit(double celsius) {
return celsius * 9 / 5 + 32;
}
int main() {
double celsius;
cout << "输入摄氏温度: ";
cin >> celsius;
cout << celsius << "°C = " << celsiusToFahrenheit(celsius) << "°F" << endl;
return 0;
}
这些方法各有优缺点,适用于不同的场景。简单程序可以直接使用基本方法,大型项目则更适合使用函数或类封装。