【思维导图与代码示例】02 函数

  • 思维导图
  • 代码示例
  • 本系列 c++ 学习框架推荐:
  • 【零基础一文学C++基础与进阶】.

思维导图

代码示例

  • 示例1:
/*************************************************
**
**Description: 寻找并输出11-999之间的数m,m 自身、平方、立方值均为回文;数理解函数的调用
**
** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_1.cpp
**
*
***************************************************/
#include <iostream>
using namespace std;//判断n是否为回文数
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;}system("pause");return 0;
}
  • 示例2:
/*************************************************
**
**Description:  实现两数的平方和 ,理解函数的嵌套调用
**
** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_2.cpp
**
*
***************************************************/
//2_2.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 square of a and b: " << fun1(a, b) << endl;return 0;
}
  • 示例3:
/*************************************************
**
**Description: 理解函数的递归调用
**
** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_3.cpp
**
*
***************************************************///2_3.1  实现阶乘
#include <iostream>
using namespace std;//计算n的阶乘
unsigned fac(unsigned n) {unsigned f;if (n == 0)f = 1;elsef = fac(n - 1) * n;return f;
}int main() {unsigned n;cout << "Enter a positive integer: ";cin >> n;unsigned y = fac(n);cout << n << "! = " << y << endl;system("pause");return 0;
}//2_3.2 汉诺塔问题
#include <iostream>
using namespace std;//把src针的最上面一个盘子移动到dest针上
void move(char src, char dest) { cout << src << " --> " << dest << endl;
}//把n个盘子从src针移动到dest针,以medium针作为中介
void hanoi(int n, char src, char medium, char dest) {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 diskes: ";cin >> m;cout << "the steps to moving " << m << " diskes:" << endl;hanoi(m,'A','B','C');return 0;
}
  • 示例4:
/*************************************************
**
**Description: 理解函数参数传递的值传递与引用传递
**
** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_4.cpp
**
*
***************************************************/
//值传递
#include <iostream>
using namespace std;void swap1(int a, int b) {int t = a;a = b;b = t;
}int main() {int x = 5, y = 10;cout << "x = " << x << "    y = " << y << endl;swap1(x, y);cout << "x = " << x << "    y = " << y << endl;system("pause");return 0;
}// 引用传递
#include <iostream>
using namespace std;void swap2(int &a, int &b) {int t = a;a = b;b = t;
}int main() {int x = 5, y = 10;cout << "x = " << x << "    y = " << y << endl;swap2(x, y);cout << "x = " << x << "    y = " << y << endl;
system("pause");return 0;
}
  • 示例5:

/*************************************************
**
**Description: 理解内联函数:
**
** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_1.cpp
**
*
***************************************************/#include <iostream>
using namespace std;const double PI = 3.14159265358979;//内联函数,根据圆的半径计算其面积
inline double calArea(double radius) {return PI * radius * radius;
}int main() {double r ;//r是圆的半径cout<< "please input  r : " <<endl;cin >> r;//调用内联函数求圆的面积,编译时此处被替换为CalArea函数体语句double area    = calArea(r);cout << area << endl;system("pause");return 0;
}
  • 示例6:
/*************************************************
**
**Description: 理解带默认参数的函数:
定义函数getVolume有三个形参:length(长)、width(宽)、height(高),
其中width和height带有默认值。主函数中以不同形式调用getVolume函数。** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_6.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;system("pause");return 0;
}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;
}
  • 示例7:

/*************************************************
**
**Description: 理解函数重载
**
** Author:慕灵阁-wpke
** Time:2021-11-05
** Versions :2_7.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;
}

【c++思维导图与代码示例】02 函数相关推荐

  1. sql 百分号_SQL思维导图和代码分享

    本人SQL新手,五一期间自学了<SQL必知必会>一书,在此简要分享学习心得,若有差错,请各位大佬们多多指教呀! 本人的SQL学习计划是先根据<SQL必知必会>一书入门,了解SQ ...

  2. 用思维导图分析代码(arduino用WEB网页-输入WIFI名与密码 )让初学者轻松搞懂程序的运作流程。

    学习和使用ESP8266,在ardoinoIDE写程序一个多月了. 刚开始看代码时,由于水平比较低, 分析代码比较难, 所以,在一边学习时,一边用思维导图去分析代码. 分析完,感觉思路有些清晰, 希望 ...

  3. 思维导图 基础篇(02)认知大脑

    系列文章解读&说明: 本系列文章主要内容是 思维导图 基础课,旨在帮助更多 热爱学习的伙伴 更具体的了解思维导图,同时也会让 更多的伙伴从 思维导图 认知 误区中走出. 系列文章总纲链接为:专 ...

  4. MySQL基础 笔记、思维导图、代码

    MySQL登录方式 2种 : 1.自带的客户端登录 2.使用命令行语句登录 cmd 以管理员方式打开 输入命令如下: mysql [-h 127.0.0.1] [-P 3306] -u root -p ...

  5. xdeepfm算法思维导图与代码

    代码

  6. wide_and_deep 思维导图和代码

    代码下载

  7. deepfm算法思维导图和代码

    代码下载

  8. 一键生成CSDN文章的思维导图目录

    简 介: 本文给出了直接将CSDN文章一键生成对应的思维导图目录的程序.将目录增加在博文的最开始,可以更好地显示博文的内部结构,作为原来CSDN网页中目录的补充,丰富博文的表达能力. 关键词: CSD ...

  9. 【MarkDown】CSDN Markdown之思维导图mindmap详解

    文章目录 思维导图(Mindmap) 一个思维导图的例子 语法 形状 矩形 圆角矩形 圆形 爆炸 云朵 六边形 默认 图标和类 图标 类 不清晰的缩进 Markdown字符串 与库或网站资源集成 思维 ...

  10. Linux入门基础思维导图

    Linux入门基础思维导图 01 发行版本 02 系统目录 欢迎关注微信公众号[厦门微思网络].www.xmws.cn专业IT认证培训19周年 03 环境安装 04 SSH服务 05 启动模式策略 / ...

最新文章

  1. 从语言学到深度学习NLP,一文概述自然语言处理
  2. 06-老马jQuery教程-jQuery高级
  3. matlab 文件路径问题
  4. 澎湖县地产泡沫的破灭
  5. asic面试题目 英伟达_英伟达一面总结
  6. [填坑手册]小程序目录结构和组件化使用心得
  7. java学习(81):静态代码块
  8. 程序员拒绝一个合理需求的15个方法!
  9. 转折后的总结--2014年找工作
  10. 洛谷P1482 Cantor表(升级版) 题解
  11. 什么是Python脚本?
  12. 金蝶kis云+sqlserver报表分析
  13. JAVA Swing GUI设计 WindowBuilder Pro Container使用大全2——JPanel使用
  14. python学习第25天
  15. (转)投资AI的核心标准是场景和数据
  16. 51单片机实现计算器程序
  17. FIL在十月份的ICO流通减产
  18. 混沌初开:全新 HarmonyOS 2 正式到来!
  19. Linux内核模块编写详解
  20. java截取字符串中间一部分内容

热门文章

  1. 家庭农场海边作弊工具的Andr​​oid的ios
  2. android手机录屏多少fps,如何在Andr如何在Android上以90fps或120fps的屏幕录制
  3. 3D视觉点云数据处理十大方法
  4. 国内优秀的PHP后台管理系统(CMS)整理
  5. Tomcat优化技巧
  6. ubuntu 系统获取和阅读 linux 源码
  7. Linux中压缩文件后生成,在 Linux系统中,压缩文件后生成后缀为.gz文件的命令是 gzip 。...
  8. 修改表字段长度sql
  9. 关于SBUS信号在单片机中的一些个人理解
  10. 如何自己开发漏洞扫描工具