惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

5月月考 - faryou的博客 - 日记 faryou的博客-五一回老家 【汇编 - 功能】中断安装中断实现 【汇编&硬件】时钟中断的具体实现 faryou的博客-这些年,我不再看《熊出没》 【汇编&硬件】关机中断的具体实现 【汇编&硬件】网络连接相关中断的具体实现 faryou的博客-年初小记 【汇编&硬件】鼠标控制中断的具体实现 【汇编&硬件】声音输出中断的具体实现 【汇编&硬件】屏幕输出中断的具体实现 【汇编&硬件】磁盘读取中断的具体实现 【汇编&硬件】键盘读取中断的具体实现 【汇编】汇编环境的搭建及Debug的使用教程 【汇编】漫谈:学习汇编后的一些思考 faryou的博客-关于本站即日起实行“一站三体”运营制度 【汇编基础教程】完结篇 写在最后:前言 【汇编基础教程】使用BIOS的中断实现键盘输入及磁盘I/O 【汇编基础教程】中断 【汇编基础教程】端口 【汇编基础教程】标志寄存器 【汇编基础教程】寄存器和内存&一些基本命令的说明 【汇编基础教程】来存一些数据! 【汇编基础教程】段 【汇编基础教程】再谈栈 【汇编基础教程】更灵活的定位内存 【汇编基础教程】来写个“函数” 【汇编基础教程】理解一下[bx]和loop指令 【汇编基础教程】跳一跳! faryou的博客-我的竞赛经历&对人生的一些思考 faryou的博客-关于现在中小学计算机课的一些想法及思考 faryou的博客-2025年度总结 faryou的博客-临平山下十五年 faryou的博客-Windows 10即将停止支持,谈谈自己从小到大用电脑的感受 faryou的博客-谈谈一名10后的怀旧情怀 【汇编基础教程】8086CPU工作原理 【C语言】指针的理解与应用 【算法教程】【C/C++】DP(动态规划):区间DP——程序设计思路与代码实现 【算法教程】【C/C++】BFS(广度优先搜索)——程序设计思路与代码实现 【算法教程】【C/C++】DFS(深度优先搜索)——程序设计思路与代码实现 【算法教程】【C/C++】单源最短路径——程序设计思路与代码实现 【算法教程】【C/C++】最小生成树——程序设计思路与代码实现 【算法教程】【C/C++】并查集——程序设计思路与代码实现 【算法教程】【C/C++】DP(动态规划):背包DP——程序设计思路与代码实现 【算法教程】【C/C++】DP(动态规划):简单动规问题——程序设计思路与代码实现 【算法教程】【C/C++】递推——程序设计思路与代码实现 【算法教程】【C/C++】三分算法——程序设计思路与代码实现 【算法教程】【C/C++】二分答案——程序设计思路与代码实现 【算法教程】【C/C++】二分查找——程序设计思路与代码实现 【算法教程】【C/C++】贪心算法——程序设计思路与代码实现 【算法教程】【C/C++】基础数学:快排——程序设计思路与代码实现 【算法教程】【C/C++】基础数学:快速幂——程序设计思路与代码实现 【算法教程】【C/C++】基础数学:进制转换——程序设计思路与代码实现
一文弄懂C++中的自定义函数
faryou · 2024-03-15 · via

前言
近期我开始学习信奥了,主要编程语言就是C++。在做学校的题目的时候发现有一道题很难直接解决。参考了做出来的两名同学的做法,发现一个人是利用数组解决(那代码我都不敢看,一堆for循环也没出啥好办法来……),另一个人则是一个数据用一段代码处理,也是屎山代码……后来按照题意找到方向后,便利用自定义函数减少了许多烦琐的步骤。下面为大家介绍一下C++中自定义函数的理解与使用——

函数
要想使用自定义函数,首先就要理解C++中的函数是什么。
简单来说,函数就是一条可以帮助你完成某个特定任务,并返回一个结果值的命令。打个比方:int a;,这条命令就可以帮你完成定义一个名为a的整型变量这一个任务;再比如说if 0这一条命令,就可以判断0的布尔值,并返回一个false。
函数中有一个很重要的组成部分——参数。比如printf("Hello World!");这条代码中,"Hello World!"就是一个参数。函数通过给定的参数进行计算。参数虽然重要,但并不是必要的。
函数中还有一个必要的部分,就是返回值。C++函数中,main()函数的return 0;就是返回一个0的意思。

自定义函数的创建与调用
自定义函数与main()函数类似,下面来看看自定义函数的定义:
首先,是以函数返回值类型+函数名,例如int a(){}就定义了一个返回值为整型,名称为a的函数。
下面介绍参数设置,只需要在函数名后面的括号里用参数数据类型+参数名的格式列出即可,多个函数之间用逗号隔开,注意不要与用户名重复。
在函数的最后,不要忘记返回值,这十分重要,同时注意返回值数据类型要和开头定义的保持一致。
调用函数的时候,只需要以 函数名(参数1,参数2...); 的格式调用即可。

自定义函数的实际应用
上面说了那么多,如果不会应用,那么都是白搭。下面faryou我给大家展示一道学校的题目,以及我的答案——
202401031704291455662705.png
先放个答案,再分析——

#include <cstdio>
using namespace std;
int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,m=0,n=0;
int pd(int a){//声明自定义函数
  if(a>0) m++;//正数
  if(a<0) n++;//负数
  return 0;
}
int main(){
 
 scanf("%d%d%d%d%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8,&a9,&a10);
  pd(a1);
  pd(a2);
  pd(a3);
  pd(a4);
  pd(a5);
  pd(a6);
  pd(a7);
  pd(a8);
  pd(a9);
  pd(a10);
  printf("positive:%d\nnegative:%d",m,n);
  return 0;
}

这里先声明一下,本人对for循环和数组的使用还不熟悉,所以没有进一步简化~~
可以看到,我在这里使用了一个名为pd的自定义函数,且设置了一个名为a的整型变量,函数中进行了一次二分支的判断,之后的main函数中,我把10个待求数一一通过自定义函数判断正负。程序整体利用了2个计次变量,m和n。

总结
本文先介绍了函数,之后说了自定义函数的基本使用方法,最后为大家举了一个例子。希望大家对此能够有自己的理解,并加以运用到更为复杂的情景当中去。
第一次写C++的文章,有问题请不吝赐教~~
我是faryou,下次见('▽')♪