输入2个(){ cout << "Enter x and y:"; cin >> x >> y; // 输入2个 } 选择分支switch(){ cin >> day; switch (day) { //选择分支 case 6: cout << "Saturday" << endl; break; default:cout << "Day out of range Sunday .. Saturday" << endl; break; } } 反转数字(){ //反转数字 int n, right_digit, newnum = 0; cout << "Enter the number: "; cin >> n; cout << "The number in reverse order is "; do { right_digit = n % 10; cout << right_digit; n /= 10; } while (n != 0); } 求因子(){ for (int k = 1; k <= n; k++) if (n % k == 0) //求因子不过怀疑有问题 cout << k << " "; cout << endl; } 统计输入的正负数(){cin >> n; while (n != 0) { //统计输入的正负数字的个数 if (n > 0) i += 1; if (n < 0) j += 1; cin >> n; } } 枚举的应用(){ enum GameResult { WIN, LOSE, TIE, CANCEL }; //枚举的应用 //int main() { GameResult result; //声明变量时,可以不写关键字enum enum GameResult omit = CANCEL; //也可以在类型名前写enum for (int count = WIN ; count <= CANCEL ; count++) { //隐含类型转换 result = GameResult(count); //显式类型转换 if (result == omit) } } 完整程序结构体使用(){ //#include <iomanip> //结构体使用 //#include <string> struct Student { //学生信息结构体 int num; //学号 string name; //姓名 char sex; //性别 int age; //年龄 } stu = { 97001, "Lin Lin", 'F', 19}; //int main() { cout << setw(7) << stu.num; } 结构体和联合体使用(){ struct Aircraft { int wingspan; //翼幅 int passengers; //乘客 union { //无名联合作为结构体的内嵌成员 float fuelLoad; //战斗机装载的燃料 float bombLoad; //轰炸机装载的炸弹 int pallets; //运输机的货盘 }; } fighter; int main() { fighter.wingspan = 40; fighter.fuelLoad = 12000.0; cout << "The fighter carries " << fighter.pallets << " pallets." << endl; } } 结构体_枚举_位域(){ enum Level { FRESHMAN, SOPHOMORE, JUNIOR, SENIOR }; enum Grade { A, B, C, D }; struct Student { unsigned number : 27; Level level : 2; Grade grade : 2; }; int main() { Student s = { 12345678, SOPHOMORE, B }; cout << "Size of Student: " << sizeof(Student) << endl; cout << "Number: " << s.number << endl; cout << "Level: "; switch (s.level) { case SENIOR: cout << "senior"; break; } cout << endl; cout << "Grade: "; switch (s.grade) { case D: cout << "D"; break; }}} double 计算x的n次方power(double x, int n) { double val = 1.0; while (n--) val *= x; return val; } double 正切函数arctan(double x) { double sqr = x * x; double e = x; double r = 0; int i = 1; while (e / i > 1e-15) { //无限小 1e-15 double f = e / i; r = (i % 4 == 1) ? r + f : r - f; e = e * sqr; i += 2; } return r; } bool 回文数symm(unsigned n) { unsigned i = n; unsigned m = 0; while (i > 0) { m = m * 10 + i % 10; i /= 10; } return m == n; } 游戏状态使用while(状态){ cin >> seed;//输入随机数种子 srand(seed);//将种子传递给rand() sum = rollDice(); //第一轮投骰子、计算和数 switch (sum) { case 7: //如果和数为7或11则为胜,状态为WIN status = WIN; break; case 2: //和数为2、3或12则为负,状态为LOSE status = LOSE; break; default: //其它情况,游戏尚无结果,状态为PLAYING,记下点数,为下一轮做准备 status = PLAYING; myPoint = sum; cout << "point is " << myPoint << endl; break; } while (status == PLAYING) { //只要状态仍为PLAYING,就继续进行下一轮 sum = rollDice(); //再一次运行 if (sum == myPoint) //某轮的和数等于点数则取胜,状态置为WIN status = WIN; else if (sum == 7) //出现和数为7则为负,状态置为LOSE status = LOSE; } } 函数调用函数(){ int fun2(int m) { return m * m; } int fun1(int x,int y) { return fun2(x) + fun2(y); } //fun1(a, b) } unsigned 计算n的阶乘fac(unsigned n) { unsigned f; if (n == 0) f = 1; else f = 计算n的阶乘fac(n - 1) * n; return f; } 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) + comm(n - 1, k - 1); } void 形参调用交换swap(int a, int b) { int t = a; a = b; b = t; } void 实参调用交换swap(int &a, int &b) { int t = a; a = b; b = t; } void 实形参混合(int in1, int &in2) { in1 = in1 + 100; in2 = in2 + 100; cout << "The values are "; cout << setw(5) << in1; cout << setw(5) << in2 << endl; // 去除本行的// } int v1 = 7, v2 = 12; 实形参混合(v1, v2);; getchar(); } inline double 内联函数calArea(double radius) { return 3.1415926* radius * radius; // 引用 double area = 内联函数calArea(r); } int 算体积的getVolume(int length, int width/* = 2 */, int height/* = 3 */) { //声明 int getVolume(int length, int width = 2, int height = 3); cout << setw(5) << length << setw(5) << width << setw(5) << height << '\t'; return length * width * height; //算体积的,默认参数可以省略 //必须后面开始有参数省略 } 重载函数(){ int sumOfSquare(int a, int b) { return a * a + b * b; } double sumOfSquare(double a, double b) { return a * a + b * b; } //调用 sumOfSquare(m, n) }