七、函数练习

目录

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之间的数字去试除i
		int 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之间的数字去试除i
		int 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;
	else
		return 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]);
	//找到了,返回下标
	//找不到,返回-1
	int 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.mfbz.cn/a/770299.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)

1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。由于时间的关系&#xff0c;宏哥这里用代码给小伙伴演示两个模块&#xff1a;注册和登录。 2.业务模块封装 因为现在各种APP的层出不群&#xff0c;各式各样的。但是其大多数都有注册、登录。为…

【话题】IT专业入门,高考假期预习指南

IT专业入门&#xff0c;高考假期预习指南 亲爱的高考学子们&#xff0c; 七月的阳光&#xff0c;如同你们的梦想&#xff0c;炽热而明亮。当你们手中的笔落下最后一道题的答案&#xff0c;那不仅仅是对过去十二年寒窗苦读的告别&#xff0c;更是对未知世界探索的启程号角。你们…

surfer做等值线图笔记

surfer等值线图及其白化 **grd文件的制作****白化的边界文件的制作****白化****绘图****逆转坐标轴** grd文件的制作 单击格网&#xff0c;选择x,y,z的数据&#xff0c;选择克里金插值方法&#xff0c;让后确定&#xff0c;保存grd文件 白化的边界文件的制作 surfer新建表&am…

拒绝胶感,清纯甜美邻家女孩!逼真!逼真!SD1.5 更适合初恋般的国产真人大模型—— CNrealisticMIXV40

看惯了AI艺术大片&#xff0c;想寻找适合生成邻家女孩青涩照片的模型。 今天应邀&#xff0c;针对邻家女孩青涩风格进行下尝试。此前推荐过一款支持各种真实&#xff0c;摄影&#xff0c;写实风格模型的合体模型——**赛博Dream | CNrealistic_MIX_V40无损修剪版。**这款模型为…

notepad++ 中文乱码 出现小方格

从word文档直接拷贝过来的文字&#xff0c;到notepad 中文乱码 出现小方格 &#xff1a; 方法&#xff1a;设置-语言格式设置&#xff0c;字体样式更改为宋体&#xff0c;勾选“使用全局字体”&#xff0c;点保存并关闭&#xff0c;则ok

【Python机器学习】算法链与管道——用预处理进行参数选择的注意项

对于许多机器学习算法&#xff0c;提供的特定数据表示非常重要。比如&#xff0c;首先对数据进行缩放&#xff0c;然后手动合并特征&#xff0c;再利用无监督机器学习来学习特征。因此&#xff0c;大多数机器学习应用不仅需要应用多个算法&#xff0c;而且还需要将许多不同的处…

使用 llamaIndex 快速实现智能体

AI 智能体就是可以根据当前环境进行推理&#xff0c;并根据处理结果进行下一步的操作。简单来说 AI 智能体可以与外界环境进行交互&#xff0c;并根据结果执行更复杂的操作。本文将通过llamaIndex 实现一个简单的 Agent 实时获取数据&#xff0c;由于大模型是通过静态数据进行训…

【C++】 解决 C++ 语言报错:未定义行为(Undefined Behavior)

文章目录 引言 未定义行为&#xff08;Undefined Behavior, UB&#xff09;是 C 编程中非常危险且难以调试的错误之一。未定义行为发生时&#xff0c;程序可能表现出不可预测的行为&#xff0c;导致程序崩溃、安全漏洞甚至硬件损坏。本文将深入探讨未定义行为的成因、检测方法…

ERROR TypeError: AutoImport is not a function TypeError: AutoImport is not a

出现这种错误是AutoImport is not a function&#xff08;插件版本问题&#xff0c;回退插件版本&#xff09;-vue项目element plus按需引入配置错误 查看unplugin-auto 插件版本 npm list unplugin-auto-import 回退插件版本 npm install unplugin-auto-import0.16.1 ERRO…

字符串相似度算法完全指南:编辑、令牌与序列三类算法的全面解析与深入分析

在自然语言处理领域&#xff0c;人们经常需要比较字符串&#xff0c;这些字符串可能是单词、句子、段落甚至是整个文档。如何快速判断两个单词或句子是否相似&#xff0c;或者相似度是好还是差。这类似于我们使用手机打错一个词&#xff0c;但手机会建议正确的词来修正它&#…

无法定位程序输入点…于动态链接库…的解决方法

如下图所示: 出现上述问题,主要是因为使用的动态库问题,具体就是电脑里有几个不同版本的osgEarth的动态库。如下图所示,本人电脑里编译了好几个版本的osgEarth库,并且把其中的两个加入到了环境变量中,导致出现上述错误: 程序使用的是绿框所示的D:\OSGCore\OSGEarth\bin …

哈喽GPT-4o,对GPT-4o 论文速写的思考与探索

作为一款强大的语言模型&#xff0c;ChatGPT 在论文写作上具备显著优势。它能够辅助学者或研究人员自动创建论文框架、摘要、文献综述及论文段落&#xff08;如引言、方法、结果、结论等&#xff09;。此外&#xff0c;ChatGPT 还能优化论文结构、润色、降低内容重复率&#xf…

redis-cluster(集群模式搭建)

redis中间件版本: redis-5.0.5环境介绍 这里使用服务器数量3&#xff0c;分别为172.0.0.1&#xff0c;172.0.0.2&#xff0c;172.0.0.3&#xff0c;每台机器redis节点数量2个&#xff0c;共6个redis节点构成redis-cluster模式。编译安装包 在172.0.0.1的机器上进入安装目录 cd …

AI大模型从入门到精通:一站式学习教程

前言 在聊到AI的时候&#xff0c;我们都离不开“大模型”这三个字。 AI大模型已经完全融入了各个领域&#xff0c;也融入了我们的生活&#xff0c;它好像无所不在、无所不能。 百度李彦宏说 &#xff1a;大模型改变世界&#xff1b; 360周鸿祎说&#xff1a;大模型是新时代“…

Frida案例-hook app中指定类的方法

界面如下 代码如下 点击‘点赞’按钮时&#xff0c;会触发getThumbsCount&#xff08;&#xff09;函数 当前期望能通过frida获取getThumbsCount&#xff08;&#xff09;的值 首先查看手机上正在运行的进程 frida-ps -U 进程不一定会以包名显示&#xff0c;还可能会以app的名…

基于主流SpringBoot进行JavaWeb开发的学习路线

目录 一、学习路线 &#xff08;1&#xff09;第一部分&#xff08;Web前端开发的技术栈&#xff09; &#xff08;2&#xff09;第二部分&#xff08;Web后端开发&#xff09; 二、学习之后必备的技能 三、学习Web开发的基础与未来的收获 学完这一类知识目标&#xff1a;…

vxe-table的序号一样

使用vxe-table的时候&#xff0c;有的时候会出现序号相同的现象&#xff0c;这种现象一般出现在我们后面自己添加的行中&#xff0c;就像这种 此时的这三个序号是相同的&#xff0c;我来说一下原因&#xff0c;这是在添加新的一行的时候&#xff0c;有的时候数据很多&#xff0…

理解MySQL核心技术:外键(Foreign Key)的设计与实现

在日常开发中&#xff0c;数据库是必不可少的部分&#xff0c;而MySQL作为最流行的关系型数据库之一&#xff0c;广泛应用于各类项目中。为了确保数据的完整性和一致性&#xff0c;外键&#xff08;Foreign Key&#xff09;无疑是一个重要的概念。在本篇文章中&#xff0c;我们…

认识100种电路之降压电路

在电子电路的世界里&#xff0c;降压电路扮演着至关重要的角色。 【为什么电路需要降压电路】 首先&#xff0c;我们要明白&#xff0c;不同的电子设备和元件往往需要特定的电压来正常工作。比如&#xff0c;某些芯片可能需要 5V 的电压&#xff0c;而我们提供的电源可能是 12…

zabbix报警机制,主动监控

zabbix思路流程 主动监控 默认zabbix使用的是被动监控&#xff0c;主被动监控都是针对被监控主机而言的。被动监控&#xff1a;Server向Agent发起请求&#xff0c;索取监控数据。此种模式常用主动监控&#xff1a;Agent向Server发起连接&#xff0c;向Server汇报 配置web2使用…