任务描述
编写一个函数把华氏温度转换为摄氏温度,转换公式为:C = (F - 32) * 5/9。
相关知识
为了你能够更好的完成本关任务,你需要掌握
函数的定义;
函数的调用。
函数定义
函数定义的语法形式 类型标识符 函数名(形式参数表) { 语句序列 }
类型标识符表示返回值类型,由 return 语句给出返回值;若无返回值,写void,不必写return语句。
函数的调用
调用前先声明函数: 若函数定义在调用点之前,可以不另外声明; 若函数定义在调用点之后,必须要在调用函数前声明 函数原型: 类型标识符 被调用函数名(含类型说明的形参表);
调用形式 函数名(实参列表);
嵌套调用 在一个函数的函数体中,调用另一函数;
递归调用 函数直接或间接调用自身。
例: 编写一个求x的n次方的函数
#include <iostream>
using namespace std;
//计算x的n次方
double power(double x, int n) {
double val = 1.0;
while (n--) val *= x;
return val;
}
int main() {
cout << "5 to the power 2 is "
<< power(5, 2) << endl;
return 0;
}
运算结果:
5 to the power 2 is
25
例:数制转换
题目:输入一个8位二进制数,将其转换为十进制数输出。
例如:11012=1(23)+1(22)+0(21)+1(20)=1310
所以,如果输入1101,则应输出13。
#include <iostream>
using namespace std;
double power (double x, int n); //计算x的n次方
int main() {
int value = 0;
cout << "Enter an 8 bit binary number ";
for (int i = 7; i >= 0; i--) {
char ch;
cin >> ch;
if (ch == '1')
value += static_cast<int>(power(2, i));
}
cout << "Decimal value is " << value << endl;
return 0;
}
double power (double x, int n) {
double val = 1.0;
while (n--)
val *= x;
return val;
}
运行结果:
Enter an 8 bit binary number 01101001
Decimal value is 105
任务要求
请编写出华氏温度转摄氏温度的代码,并将代码补充在右侧任务挑战区 Begin-End 之间。
测试说明
平台会对你编写的代码进行测试:
测试输入:60
预期输出:15.5556
完整代码如下: