七、函数练习

目录

1. 写一个函数可以判断一个数是不是素数。(素数只能被1或其本身整除的数)

2. 一个函数判断一年是不是闰年。

3.写一个函数,实现一个整形有序数组的二分查找。

4. 写一个函数,每调用一次这个函数,使得num每次增加1 。


1. 写一个函数可以判断一个数是不是素数。(素数只能被1或其本身整除的数)
//1. 写一个函数可以判断一个数是不是素数。(素数只能被1或其本身整除的数)
//打印100-200之间的素数
int main()
{int i = 0;int count = 0;for ( i = 100; i <=200; i++){//判断i是否为素数//判断7.就拿2~i-1之间的数字去试除iint flag = 1;//flag是1,表示是素数int j = 0;for ( j = 2; j <= i-1; j++){if (i % j == 0){flag = 0;break;}}if (flag==1){count++;printf("%d ", i);}}printf("\ncount = %d\n", count);return 0;
}

m=a*b;

16=2*8=4*4

a和b中一定有一个数字是<=sqrt(m)

#include<math.h>
//sqrt是数学库函数
//开平方
//头文件math.h
int main()
{int i = 0;int count = 0;for ( i = 101; i <=200; i+=2){//判断i是否为素数//判断7.就拿2~i-1之间的数字去试除iint flag = 1;//flag是1,表示是素数int j = 0;for ( j = 2; j <= sqrt(i); j++){if (i % j == 0){flag = 0;break;}}if (flag==1){count++;printf("%d ", i);}}printf("\ncount = %d\n", count);return 0;
}

//1. 写一个函数可以判断一个数是不是素数。//是素数返回1
//不是素数返回0
int is_prime(int n)
{int j = 0;for ( j = 2; j <= sqrt(n); j++){if (n % j == 0){return 0;}}return 1;
}
int main()
{int i = 0;int count = 0;for (i = 101; i <= 200; i += 2){if (is_prime(i)){printf("%d ", i);count++;}}printf("\ncount = %d\n", count);return 0;
}
2. 一个函数判断一年是不是闰年。

int main()
{int i = 0;for (i = 1000; i <= 2000; i++){if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)){printf("%d ", i);}}return 0;
}
//一个函数判断一年是不是闰年。//是闰年返回1,非闰年返回0
int is_leap_year(int y)
{if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))return 1;elsereturn 0;
}
int main()
{int i = 0;for (i = 1000; i <= 2000; i++){//判断i是不是闰年if (is_leap_year(i)){printf("%d ", i);}}return 0;
}

3.写一个函数,实现一个整形有序数组的二分查找。
//写一个函数,实现一个整形有序数组的二分查找。
int binary_search(int arr[],int k,int sz)
{int left = 0;int right = sz-1;while (left<=right){int mid = left + (right - left) / 2;if (arr[mid] < k){left = mid + 1;}else if (arr[mid] > k){right = mid - 1;}else{return mid;//找到了返回下标}}return -1;//找不到
}
int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int k = 7;int sz = sizeof(arr) / sizeof(arr[0]);//找到了,返回下标//找不到,返回-1int ret = binary_search(arr,k,sz);if (ret==-1){printf("找不到\n");}else{printf("找到了,下标是:%d\n", ret);}return 0;
}

形式参数和实际参数的名字可以相同,也可以不同。

数组传参实际上传递的是数组首元素的地址,而不是整个数组,所以在函数内部计算一个函数参数部分的数组的元素个数的不靠谱的。

int binary_search(int arr[],int k,int sz)//形参arr看上去是数组,本质是指针变量。

bool 表示真,假

是1个字节。true - 1 false - 0。

也可以直接返回0 1。

bool类型的头文件stdbool.h。

4. 写一个函数,每调用一次这个函数,使得num每次增加1 。
//.  写一个函数,每调用一次这个函数,使得num每次增加1 。void Add(int* p)
{(*p)++;
}
int main()
{int num = 0;Add(&num);printf("%d\n", num);Add(&num);printf("%d\n", num);Add(&num);printf("%d\n", num);return 0;
}
int Add(int n)
{return n + 1;
}
int main()
{int num = 0;num=Add(num);printf("%d\n", num);num=Add(num);printf("%d\n", num);num=Add(num);printf("%d\n", num);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/368227.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 面试【★★★★】

欢迎莅临我的博客 &#x1f49d;&#x1f49d;&#x1f49d;&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

营销故事之扩大牙膏开口

职场营销故事“扩大牙膏开口”又可以说是“牙膏开口扩大1毫米”&#xff0c;为十大经典营销故事之一。某品牌的牙膏&#xff0c;包装精美&#xff0c;品质优良&#xff0c;备受顾客喜爱&#xff0c;连续10年营业额保持10%-20%的增幅。可到了第11年&#xff0c;销售业绩却停滞不…

实时数仓Hologres OLAP场景核心能力介绍

作者&#xff1a;赵红梅 Hologres PD OLAP典型应用场景与痛点 首先介绍典型的OLAP场景以及在这些场景上的核心痛点&#xff0c;OLAP典型应用场景很多&#xff0c;总结有四类&#xff1a;第一类是BI报表分析类&#xff0c;例如BI报表&#xff0c;实时大屏&#xff0c;数据中台等…

AntV学习笔记

文章目录 G6 图可视化引擎简单上手复杂一点的案例 S2 多维交叉分析表格简单的一个vue3使用S2的例子 G6 图可视化引擎 G6 是一个简单、易用、完备的图可视化引擎&#xff0c;它在高定制能力的基础上&#xff0c;提供了一系列设计优雅、便于使用的图可视化解决方案。能帮助开发者…

Linux高并发服务器开发(十)反应堆模型和线程池模型

文章目录 1 epoll反应堆2 线程池流程代码 3 复杂版本线程池代码 1 epoll反应堆 文件描述符 监听事件 回调函数 进行封装 创建socket设置端口复用绑定监听创建epoll树将监听文件描述符lfd上epoll树&#xff0c;对应的事件节点包括&#xff1a;文件描述符&#xff0c;事件epoll…

如何在Docker容器中,修改MySQL密码

如果MySQL运行在Docker容器中&#xff0c;修改MySQL密码的方法稍有不同。以下是如何在Docker中修改MySQL密码的步骤&#xff1a; 方法1&#xff1a;使用MySQL命令行工具 1. 找到MySQL容器的ID或者名字&#xff1a; docker ps 2. 进入MySQL容器&#xff1a; docker exec -i…

2024年小米SU7维修手册和电路图线路图接线图资料更新

此次更新了2024年小米SU7维修手册和电路图资料&#xff0c;覆盖市面上99%车型&#xff0c;包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对照表位置等等&#xff01; 汽修帮…

QT加载安装外围依赖库的翻译文件后翻译失败的现象分析:依赖库以饿汉式的形式暴露单例接口导致该现象的产生

1、前提说明 VS2019 QtClassLibaryDll是动态库,QtWidgetsApplication4是应用程序。 首先明确:动态库以饿汉式的形式进行单例接口暴露; 然后,应用程序加载动态库的翻译文件并进行全局安装; // ...QTranslator* trans = new QTranslator();//qDebug() << trans->…

无人机云台类型及作用

无人机云台主要分为三种类型&#xff1a; 单轴云台&#xff1a;仅支持单向旋转&#xff0c;适合拍摄平滑的延时摄影和全景照片。 双轴云台&#xff1a;支持水平和垂直旋转&#xff0c;可用于拍摄流畅的视频和运动物体。 三轴云台&#xff1a;全面支持所有旋转轴&#xff0c;…

CASS中按指定距离和方向移动图形

1、绘制一个图形 打开软件&#xff0c;随意绘制一个矩形&#xff0c;并量取左下角点的坐标值&#xff0c;具体如下&#xff1a; 2、按距离移动原理讲解 例1&#xff1a;将图形沿着y轴负方向移动100米&#xff0c;如何实现&#xff1f; 如上图所示&#xff0c;测绘中的坐标系…

办公软件WPS与Office的区别

临近计算机考试很多同学在纠结我是报wps好&#xff1f;还是ms office好&#xff1f;下面就来详细说说。 1、wps属于国内金山公司的办公软件&#xff0c;里面包含word、Excel和PPT。考试是2021年开始的&#xff01; 2、MS&#xff08;Microsoft 微软&#xff09; office属于美…

了解MySQL【事务】的功能:确保数据完整性的关键技术

在数据库管理中&#xff0c;事务是确保数据完整性和一致性的核心机制。特别是对MySQL这样广泛应用的开源数据库系统&#xff0c;掌握事务的使用至关重要。在这篇文章中&#xff0c;我们将全面探讨MySQL事务的工作原理、ACID属性、隔离级别以及最佳实践&#xff0c;从而帮助开发…

Docker安装PostgreSQL详细教程

本章教程,使用Docker安装PostgreSQL具体步骤。 一、拉取镜像 docker pull postgres二、启动容器 docker run -it --name postgres --restart always -e POSTGRES_PASSWORD=123456 -e

网安小贴士(7)网络加密

一、前言 网络加密的历史是一个长期发展的过程&#xff0c;其起源可以追溯到古代文明&#xff0c;主要用于战争时期的通信保密&#xff0c;其目的始终是为了保护信息的安全和保密。 二、定义 网络加密是一种安全措施&#xff0c;它通过使用编码算法对通过网络&#xff08;例…

Arthas实战(2)- OOM问题排查

一、 准备测试应用 新建一个 SpringBoot应用&#xff0c;写一段有 OOM bug 的代码&#xff1a; RestController RequestMapping public class JvmThreadController {List<TestWrapper> memoryList new ArrayList<>();GetMapping("/test")public Strin…

BME688 环境传感器

型号简介 BME688是博世&#xff08;bosch-sensortec&#xff09;的一款首款具有人工智能 (AI) 和集成高线性度和高精度压力、湿度和温度传感器的气体传感器。它采用坚固而紧凑的 3.0 x 3.0 x 0.9 mm 封装&#xff0c;专为移动和联网应用而开发&#xff0c;在这些应用中&#xf…

Element中的选择器组件Select (一级选择组件el-select)

简述&#xff1a;在 Element UI 中&#xff0c;ElSelect&#xff08;或简称为 Select&#xff09;是一个非常常用的选择器组件&#xff0c;它提供了丰富的功能来帮助用户从一组预定义的选项中选择一个或多个值。这里来简单记录一下 一. 组件和属性配置 <el-selectv-model&q…

普通集群与镜像集群配置

目录 一. 环境准备 二. 开始配置集群 三. RabbitMQ镜像集群配置 四. 安装并配置负载均衡器HA 一. 环境准备 关闭防火墙和selinux&#xff0c;进行时间同步 主机名系统IP服务rabbitmq-1 Rocky_linux9.4 192.168.226.22RabbitMQ&#xff0c;MySQLrabbitmq-2Rocky_linux9.41…

SpringBoot 多数据源配置

目录 一. 引入maven依赖包 二. 配置yml 三、创建 xml 分组文件 四、切换数据源 一. 引入maven依赖包 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.6.1&…

提升学生职务执行力的智慧校园学工管理策略

智慧校园的学工管理系统匠心独运地融入了“学生职务”这一创新模块&#xff0c;它紧密贴合学生的实际需求&#xff0c;致力于在校期间的实践经验积累和个人能力的全面提升。这个模块化身为一个便捷的综合平台&#xff0c;让学生们能够轻松发掘并参与到丰富多彩的校内职务中去&a…