当前位置: 首页 > news >正文

【代码】自定义函数

你有没有听过 n! ?

n!=n×(n-1)×(n-2)×···×2×1

你想不想有一个c++函数 jc() 专门用来计算n!?

不好意思,没有!c++函数库说。没有咱自己可以造呀!

哈喽大家好,我是@学霸小羊,今天讲讲自定义函数。

自定义函数的定义格式如下:

返回值类型 函数名(数据类型 形式参数1,数据类型 形式参数2,······){执行语句1;执行语句2;
}

然后,要在主函数main()中调用函数。

对于阶乘,就可以打出以下代码:

#include<bits/stdc++.h>
using namespace std;
int jc(int n)
{int s=1;for(int i=1;i<=n;i++)s*=i;return s;
}
int main()
{int n;cin>>n;cout<<jc(n);return 0;
}

你懂了吗?

接下来,我们要帮小明解决一个问题:

老师叫小明写一个函数,要求输入a和b,返回a+b/2和b+a/2的值。

小明做出以下代码后,发现返回的值与原来一样。

#include<bits/stdc++.h>
using namespace std;
int aa(int a,int b)
{a=a+b/2,b=b+a/2;return 0;
}
int main()
{int a,b;cin>>a>>b;aa(a,b);cout<<a<<" "<<b;return 0;
}

问题其实很简单,函数内的形式参数操作后无法返回到主函数中的实际参数。

要将函数那里的a,b改成地址。

#include<bits/stdc++.h>
using namespace std;
int aa(int &a,int &b)
{a=a+b/2,b=b+a/2;return 0;
}
int main()
{int a,b;cin>>a>>b;aa(a,b);cout<<a<<" "<<b;return 0;
}

你学回了吗?

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据治理与数据提取:解锁信息价值的双钥匙
  • 计算机网络——物理层
  • img标签添加::before ::after 伪元素无效,伪元素增加:hover伪类无效
  • java项目之飘香水果购物网站(springboot+vue+mysql)
  • 树莓派4B 学习笔记1:TF卡系统盘烧录_初次启动_远程端连接配置
  • 【高阶数据结构(七)】B+树, 索引原理讲解
  • 多态(C++)
  • Ubuntu22.04之扩展并挂载4T硬盘(二百三十三)
  • 【typescript】omit和pick的好处,以及区别和用法
  • 怎么做好客户信息管理?
  • linux日常运维2
  • web前端三大主流框架
  • PHP preg_replace正则表达式涉及汉字乱码
  • c++——模板初始识
  • mysql内存和磁盘的关系
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Angular2开发踩坑系列-生产环境编译
  • bearychat的java client
  • C++类的相互关联
  • dva中组件的懒加载
  • flutter的key在widget list的作用以及必要性
  • java8-模拟hadoop
  • JS学习笔记——闭包
  • Laravel 实践之路: 数据库迁移与数据填充
  • Linux快速复制或删除大量小文件
  • 基于web的全景—— Pannellum小试
  • 日剧·日综资源集合(建议收藏)
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 山寨一个 Promise
  • 通过git安装npm私有模块
  • 为视图添加丝滑的水波纹
  • 学习笔记TF060:图像语音结合,看图说话
  • 用jquery写贪吃蛇
  • "无招胜有招"nbsp;史上最全的互…
  • #1014 : Trie树
  • #pragam once 和 #ifndef 预编译头
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (C语言)fread与fwrite详解
  • (差分)胡桃爱原石
  • (二)PySpark3:SparkSQL编程
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (一)VirtualBox安装增强功能
  • (转)重识new
  • (转载)利用webkit抓取动态网页和链接
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .jks文件(JAVA KeyStore)
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET delegate 委托 、 Event 事件
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NetCore项目nginx发布