1.编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。
2.定义一个函数char x(int score),实现输入分数score,得到对应等级。
3.定义并使用函数cpow(x,y),计算2的20次方的值。
4.编写递归函数getpower计算xy,在同一个程序中针对整型和实型实现两个重载的函数。
5.创建函数funx(),求下面的阶乘和
//1.编写一个函数把华氏温度转换为摄氏温度,转换公式为:C = (F - 32) * 5 / 9。
//代码://编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9
#include<iostream>
using namespace std;
//1.定义函数,将华氏温度转换成摄氏温度
double hszcs(double hs) {
return (hs - 32) * 5 / 9;
}
int main() {
double hs;
double cs;
cout << "请输入华氏摄氏度:";
cin >> hs;
//调用函数并存储返回值
cs = hszcs(hs);
cout << "华氏温度" << hs << "转摄氏温度" << cs << endl;
return 0;
}
//2、定义一个函数char x(int score), 实现输入分数score,得到对应等级。
//90 - 100为A
//80 - 90为B
//70 - 80为C
//70以下为D
#include<iostream>
using namespace std;
char x(int score) {
if (score >= 90 && score <= 100) {
return 'A';
}
else if (score >= 80 && score <= 90) {
return'B';
}
else if (score >= 70 && score <= 80) {
return'C';
}
else
{
return 'D';
}
}
int main() {
double score;
char dj;
cout << "输入分数得到对应等级:";
cin >> score;
dj = x(score);
cout<<"分数为:"<<score <<endl<< "对应的等级为:" << dj << endl;
return 0;
}
//3、定义并使用函数cpow(x, y),计算220的值。
//3.定义并使用函数cpow(x,y),计算2的20次方的值、
#include<iostream>
#include <cmath>
using namespace std;
double cpow(double x, double y) {
return pow(x, y);
}
int main() {
int result = cpow(2, 20);
cout << "2的20次方的值等于:" << result << endl;
return 0;
}
//4、编写递归函数getpower计算xy, 在同一个程序中针对整型和实型实现两个重载的函数:
//int getpower(int x, int y);
//double getpower(double x, int y);
//int main() {
// cout << getpower(2, 2) << endl;
// cout << getpower(2.0, -3) << endl;
// return 0;
//}
#include <iostream>
#include <cmath>
using namespace std;
// 递归函数,计算整数的x次幂
int getpower(int x, int y) {
if (y == 0) {
return 1;
}
else if (y > 0) {
return x * getpower(x, y - 1);
}
else {
return 1.0 / getpower(x, -y);
}
}
// 递归函数,计算实数的x次幂
double getpower(double x, int y) {
if (y == 0) {
return 1.0;
}
else if (y > 0) {
return x * getpower(x, y - 1);
}
else {
return 1.0 / getpower(x, -y);
}
}
int main() {
cout << getpower(2, 2) << endl; // 输出整数2的平方
cout << getpower(2.0, -3) << endl; // 输出实数2.0的-3次幂
return 0;
}
//5、创建函数funx(),求下面的阶乘和
//int main() {
// cout << funx(3, 4, 5) << endl; //3!+4!+5!
// cout << funx(3, 4) << endl; //3!+4!
// cout << funx(5) << endl; //5!
// cout << funx() << endl; //10!
// return 0;
//}
#include <iostream>
using namespace std;
// 计算阶乘的递归函数
int dg(int n) {
if (n == 0 || n == 1) {
return 1;
}
else {
return n * dg(n - 1);
}
}
// 计算阶乘和的函数
int funx() {
return dg(10);
}
int funx(int n1) {
return dg(n1);
}
int funx(int n1, int n2) {
return dg(n1) + dg(n2);
}
int funx(int n1, int n2, int n3) {
return dg(n1) + dg(n2) + dg(n3);
}
int main() {
cout << funx(3, 4, 5) << endl; // 3! + 4! + 5!
cout << funx(3, 4) << endl; // 3! + 4!
cout << funx(5) << endl; // 5!
cout << funx() << endl; // 10!
return 0;
}