C++语言程序设计 (郑莉)第三章 函数


cpp 复制代码
#include <iostream>
using namespace std;

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;
}
cpp 复制代码
#include <iostream>
using namespace std;

double power(double x, int 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;
}
cpp 复制代码
#include <iostream>
using namespace std;

double arctan(double x) {
	double sqr = x * x;
	double e = x;
	double r = 0;
	int i = 1;
	while (e / i > 1e-15) {
		double f = e / i;
		r = (i % 4 == 1) ? r + f : r - f;
		e = e * sqr;
		i += 2;
	}
	return r;
}

int main() {
	double a = 16.0 * arctan(1 / 5.0);
	double b = 4.0 * arctan(1 / 239.0);
	cout << "PI=" << a - b << endl;
	return 0;
}
cpp 复制代码
#include <iostream>
using namespace std;

bool symm(unsigned n) {
	unsigned i = n;
	unsigned m = 0;
	while (i > 0) {
		m = m * 10 + i % 10;
		i /= 10;
	}
	return m == n;
}

int main() {
	for (unsigned m = 11; m < 1000; m++) {
		if (symm(m) && symm(m * m) && symm(m * m * m)) {
			cout << "m = " << m;
			cout << "m * m = " << m * m;
			cout << "m * m * m = " << m * m * m << endl;
		}
	}
	return 0;
}
cpp 复制代码
#include <iostream>
#include <cmath>
using namespace std;

const double TINY_VALUE = 1e-10;

double tsin(double x) {
	double g = 0;
	double t = x;
	int n = 1;
	do {
		g += t;
		n++;
		t = -t * x * x / (2 * n - 1) / (2 * n - 2);
	} while (fabs(t) >= TINY_VALUE);
	return g;
}

int main() {
	double k, r, s;
	cout << "r=";
	cin >> r;
	cout << "s=";
	cin >> s;
	if (r * r <= s * s) {
		k = sqrt(tsin(r) * tsin(r) + tsin(s) * tsin(s));
	}
	else {
		k = tsin(r * s) / 2;
	}
	cout << k << endl;
	return 0;
}


cpp 复制代码
#include <iostream>
#include <cstdlib>
using namespace std;

enum GameStatus{WIN,LOSE,PLAYING};

int rollDice() {
	int die1 = 1 + rand() % 6;
	int die2 = 1 + rand() % 6;
	int sum = die1 + die2;
	cout << "player rolled" << die1 << " + " << die2 << " = " << sum << endl;
	return sum;
}

int main() {
	int sum, myPoint;
	GameStatus status;
	unsigned seed;
	cout << "Please enter an unsigned integer:";
	cin >> seed;
	srand(seed);
	sum = rollDice();
	switch (sum) {
	case 7:
	case 11:
		status = WIN;
		break;
	case 2:
	case 3:
	case 12:
		status = LOSE;
		break;
	default:
		status = PLAYING;
		myPoint = sum;
		cout << "point is " << myPoint << endl;
		break;
	}
	while (status == PLAYING) {
		sum = rollDice();
		if (sum == myPoint) {
			status = WIN;
		}
		else if (sum == 7) {
			status == LOSE;
		}
	}

	if (status == WIN) {
		cout << "player win" << endl;
	}
	else {
		cout << "player lose" << endl;
	}
	return 0;
}
cpp 复制代码
#include <iostream>
using namespace std;

int fun2(int m) {
	return m * m;
}

int fun1(int x, int y) {
	return fun2(x) + fun2(y);
}

int main() {
	int a, b;
	cout << "Please enter two integers (a and b)";
	cin >> a >> b;
	cout << "The sum of sqare of a and b:"
		<< fun1(a, b) << endl;
	return 0;
}



cpp 复制代码
#include <iostream>
using namespace std;
unsigned fac(int n) {
	unsigned f;
	if (n == 0) {
		f = 1;
	}
	else {
		f = fac(n - 1) * n;
	}
	return f;
}

int main() {
	unsigned n;
	cout << "Enter a positive integer:";
	cin >> n;
	unsigned y = fac(n);
	cout << n << "!=" << fac(n) << endl;
	return 0;
}
cpp 复制代码
#include <iostream>
using namespace std;

int comm(int n, int k) {
	if (k > n) {
		return 0;
	}
	else if (n == k || k == 0) {
		return 1;
	}
	else {
		return comm(n - 1, k - 1) + comm(n - 1, k);
	}
}

int main() {
	int n, k;
	cout << "Please enter two integers n and k";
	cin >> n >> k;
	cout << "C(n,k) = " << comm(n, k) << endl;
	return 0;
}


cpp 复制代码
#include <iostream>
using namespace std;
void move(char src, char dest) {
	cout << src << "-->" << dest << endl;
}

int x = 0;

void hanoi(int n, char src, char medium, char dest) {
	x++;
	if (n == 1) {
		move(src, dest);
	}
	else {
		hanoi(n - 1, src, dest, medium);
		move(src, dest);
		hanoi(n - 1, medium, src, dest);
	}
}

int main() {
	int m;
	cout << "Enter the number of disks:";
	cin >> m;
	cout << "the steps of moving " << m << "disks:" << endl;
	hanoi(m, 'A', 'B', 'C');
	cout << x;
	return 0;
}
cpp 复制代码
#include <iostream>
using namespace std;
void swap(int a, int b) {
	int t = a;
	a = b;
	b = t;
}

int main() {
	int x = 5, y = 6;
	cout << "x = " << x << " y = " << y << endl;
	swap(x, y);
	cout << "x = " << x << " y = " << y << endl;
	return 0;
}
cpp 复制代码
#include <iostream>
using namespace std;
void swap(int& a, int& b) {
	int t = a;
	a = b;
	b = t;
}

int main() {
	int x = 5, y = 10;
	cout << "x = " << x << " y = " << y << endl;
	swap(x, y);
	cout << "x = " << x << " y = " << y << endl;
	return 0;
}



cpp 复制代码
#include <iostream>
using namespace std;

const double PI = 3.14159265358979;
inline double calArea(double radius) {
	return PI * radius * radius;
}

int main() {
	double r = 3.0;
	double area = calArea(r);
	cout << area << endl;
	return 0;
}




cpp 复制代码
#include <iostream>
#include <iomanip>

using namespace std;
int getVolume(int length, int width = 2, int height = 3);

int main() {
	const int X = 10, Y = 12, Z = 15;
	cout << "Some box data is";
	cout << getVolume(X, Y, Z) << endl;
	cout << "Some box data is";
	cout << getVolume(X, Y) << endl;
	cout << "Some box data is";
	cout << getVolume(X) << endl;
	return 0;
}

int getVolume(int length, int width, int height) {
	cout << setw(5) << length << setw(5) << width << setw(5) << height << "\t";
	return length * width * height;
}



cpp 复制代码
#include <iostream>
using namespace std;

int sumOfSquare(int a, int b) {
	return a * a + b * b;
}

double sumOfSquare(double a, double b) {
	return a * a + b * b;
}

int main() {
	int m, n;
	cout << "Enter two integer:";
	cin >> m >> n;
	cout << "Their sum of square:" << sumOfSquare(m, n) << endl;
	double x, y;
	cout << "Enter two real number";
	cin >> x >> y;
	cout << "Their sum of square:" << sumOfSquare(x, y) << endl;
	return 0;
}


cpp 复制代码
#include <iostream>
#include <cmath>
using namespace std;
const double PI = 3.14159265358979;

int main() {
	double angle;
	cout << "Please enter an angle";
	cin >> angle;
	double radian = angle * PI / 180;
	cout << "sin(" << angle << ")=" << sin(radian) << endl;
	cout << "cos(" << angle<<")=" << cos(radian) << endl;
	cout << "tan(" << angle<<")=" << tan(radian) << endl;
	return 0;
}


相关推荐
HDO清风5 小时前
CASIA-HWDB2.x 数据集DGRL文件解析(python)
开发语言·人工智能·pytorch·python·目标检测·计算机视觉·restful
2201_756989095 小时前
C++中的事件驱动编程
开发语言·c++·算法
多米Domi0115 小时前
0x3f 第48天 面向实习的八股背诵第五天 + 堆一题 背了JUC的题,java.util.Concurrency
开发语言·数据结构·python·算法·leetcode·面试
2301_822377656 小时前
模板元编程调试方法
开发语言·c++·算法
csbysj20206 小时前
Python 循环嵌套
开发语言
测试_AI_一辰6 小时前
Agent & RAG 测试工程05:把 RAG 的检索过程跑清楚:chunk 是什么、怎么来的、怎么被命中的
开发语言·人工智能·功能测试·自动化·ai编程
Coding茶水间6 小时前
基于深度学习的输电电力设备检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
清风~徐~来6 小时前
【视频点播系统】BRpc 介绍及使用
开发语言
啟明起鸣6 小时前
【C++ 性能提升技巧】C++ 的引用、值类型、构造函数、移动语义与 noexcept 特性,可扩容的容器
开发语言·c++