函数练习.
1.打印乘法口诀表
口诀表的行数和列数自己指定如:输入9,输出9×9口诀表,输出12,输出12×12的乘法口诀表。
multiplication(int index) {
if (index == 9) {
int i = 0;
for (i = 1; i < 10; i++) {
int j = 0;
for (j = 1; j < i; j++) {
printf("%d * %d = %d ", i, j, i * j);
}
printf("\n");
}
}
if (index == 12) {
int i = 0;
for (i = 1; i < 13; i++) {
int j = 0;
for (j = 1; j < i; j++) {
printf("%d * %d = %d", i, j, i * j);
}
printf("\n");
}
}
}
int main() {
int index = 0;
scanf("%d", &index);
multiplication(index);
}
2.写一个二分查找函数
功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回-1.
int bin_search(int arr[], int left, int right, int key) {
// arr 是查找的数组
//left 数组的左下标
//right 数组的右下标
//key 要查找的数字
while (left<=right)
{
int mid = left + (right - left) / 2;//防止整形溢出
if (arr[mid] ==key) {
return mid;
break;
}
else if(arr[mid]<key) //中间值小于右边
{
left = mid + 1; //左下标往右
}
else
{
left = mid - 1; //中间值大于右边 左下标往左
}
}
return -1;
}
//二分查找
int main() {
int key = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("请输入你想要查找的元素:\n");
scanf("%d", &key);
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz-1;
int ret = bin_search(arr,left,right,key);
if (ret != -1) {
printf("元素%d,的数组下标为%d", key, ret);
}
else {
printf("没找到,返回%d", ret);
}
return 0;
}
3.判断闰年
int is_leap_year(int y);//函数声明 两种方法
int is_leap_year(int); //函数声明 形参可以省略
int main()
{
int y = 0;
scanf("%d", &y);
int r = is_leap_year(y);
if (r == 1)
printf("闰年\n");
else
printf("⾮闰年\n");
return 0;
}
//函数定义
int is_leap_year(int y) { //判断闰年函数 只有两种情况 用bool类型
if (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)))
return 1;
else
return 0;
}
4.判断素数
-
实现一个函数is_prime,判断一个数是不是素数。
-
利用上面实现的is_prime函数,打印100到200之间的素数。
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
// 判断一个数是否是素数
bool is_prime(int n) {
// 如果 n 小于 2,则不是素数
if (n < 2) {
return false;
}
// 如果 n 是 2,则是素数
if (n == 2) {
return true;
}
// 如果 n 是偶数,则不是素数
if (n % 2 == 0) {
return false;
}
// 检查 n 是否可以被小于或等于其平方根的奇数整除
int limit = (int) sqrt(n) + 1;
for (int i = 3; i < limit; i += 2) {
if (n % i == 0) {
return false;
}
}
// 如果没有找到可以整除 n 的数,则 n 是素数
return true;
}
int main() {
// 打印100到200之间的素数
for (int num = 100; num <= 200; num++) {
if (is_prime(num)) {
printf("%d\n", num);
}
}
return 0;
}
5.创建一个整形数组,完成对数组的操作
-
实现函数init() 初始化数组为全0
-
实现print() 打印数组的每个元素
-
实现reverse() 函数完成数组元素的逆置。
要求:自己设计以上函数的参数,返回值。
void Init(int arr[], int sz, int set)
{int i = 0;for(i=0; i<sz; i++){arr[i] = set;}
}
void Print(int arr[], int sz)
{int i = 0;for(i=0; i<sz; i++){printf("%d ", arr[i]);}printf("\n");
}
void Reverse(int arr[], int sz)
{int left = 0;int right = sz-1;
while(left<right){int tmp = arr[left];arr[left] = arr[right];arr[right] = tmp;left++;right--;}
}
int main()
{int arry[] = { 0,1,2,3,4,5,6,7,8,9 };int sz = sizeof(arry) / sizeof(arry[0]);Print(arry, sz);Reverse(arry, sz);Print(arry, sz);Init(arry, sz,0);Print(arry, sz);return 0;
}
相关文章:
函数练习.
1.打印乘法口诀表 口诀表的行数和列数自己指定如:输入9,输出99口诀表,输出12,输出1212的乘法口诀表。 multiplication(int index) { if (index 9) { int i 0; for (i 1; i < 10; i) { int j 0; for (j 1; j &…...
Git 分支命令操作详解
目录 1、分支的特点 2、分支常用操作 3、分支的使用 3.1、查看分支 3.2、创建分支 3.3、修改分支 3.4、切换分支 3.5、合并分支 3.6、产生冲突 3.7、解决冲突 3.8、创建分支和切换分支说明 1、分支的特点 同时并行推进多个功能开发,提高开发效率。各个分…...
十二生肖Midjourney绘画大挑战:释放你的创意火花
随着AI艺术逐渐进入大众视野,使用Midjourney绘制十二生肖不仅能够激发我们的想象力,还能让我们与传统文化进行一场新式的对话。在这里,我们会逐一提供给你创意满满的绘画提示词,让你的作品别具一格。而且,我们还精选了…...
【C++】priority_queues(优先级队列)和反向迭代器适配器的实现
目录 一、 priority_queue1.priority_queue的介绍2.priority_queue的使用2.1、接口使用说明2.2、优先级队列的使用样例 3.priority_queue的底层实现3.1、库里面关于priority_queue的定义3.2、仿函数1.什么是仿函数?2.仿函数样例 3.3、实现优先级队列1. 1.0版本的实现…...
Go语言函数
在Go语言中,函数是一种基本的构建块,用于组织代码并执行特定任务。它们是可重复使用的代码段,可以接收输入参数,执行一系列操作,并可返回结果。以下是Go语言中函数的详细介绍及其使用方法: 基本语法 Go语…...
如何使用EasyExcel导入百万数据
摘要: 本文将详细探讨如何利用EasyExcel库,以及结合Java编程,高效地导入大规模数据至应用程序中。我们将逐步介绍导入流程、代码实现细节,并提供性能优化建议,旨在帮助读者在处理百万级别数据时,提高效率与…...
【解决】Unity Build 应用程序运行即崩溃问题
开发平台:Unity 2021.3.7f1c1 一、问题描述 编辑器 Build 工程结束,但控制台 未显示 Build completed with a result of Succeeded [时间长度] 信息。该情况下打包流程正常,但应用程序包打开即崩溃。 二、问题测试记录 测试1…...
C++数据结构——红黑树
前言:本篇文章我们继续来分享C中的另一个复杂数据结构——红黑树。 目录 一.红黑树概念 二.红黑树性质 三.红黑树实现 1.基本框架 2.插入 3.判断平衡 四.完整代码 总结 一.红黑树概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个…...
Java并发编程:学习路线图
文章目录 一、操作系统内核原理1、进程管理详解2、内存管理详解3、IO输入输出系统详解4、进程间通信机制详解5、网络通信原理剖析 二、Java内存模型三、并发集合1、Map(1)ConcurrentHashMap(2)ConcurrentSkipListMap 2、List&…...
算法_前缀和
DP34 【模板】前缀和 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别int n in.nextInt(),q in.ne…...
C语言(指针)7
Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…...
线程纵横:C++并发编程的深度解析与实践
hello !大家好呀! 欢迎大家来到我的Linux高性能服务器编程系列之《线程纵横:C并发编程的深度解析与实践》,在这篇文章中,你将会学习到C新特性,并发编程,以及其如何带来的高性能的魅力࿰…...
在阿里云服务器上安装MySQL
目录 一、先卸载不需要的环境 1.关闭MySQL服务 2.查看安装包以及卸载安装包 3.依次卸载所有包 4. 获取mysql官⽅yum源 二、安装(密钥过期解决方法) 三、启动并进入 关于MySQL MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS&…...
国标GB28181协议EasyCVR视频汇聚平台获取设备录像仅展示部分片段的原因排查
国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,平台支持7*24小时实时高清视频监控,能同时播放多路监控视频流…...
Java的类和对象(一)—— 初始类和对象,this关键字,构造方法
前言 从这篇文章开始,我们就进入到了JavaSE的核心部分。这篇文章是Java类和对象的第一篇,主要介绍类和对象的概念,this关键字以及构造方法~~ 什么是类?什么是对象? 学过C语言的老铁们,可以类比struct自定义…...
富格林:曝光虚假套路规避亏损
富格林指出,在现货黄金市场中,交易时间很充足投资机会也多的是,但为什么还是有人亏损甚至爆仓呢?其实导致这种情况,是因为有一些投资者不知道其中的虚假套路,很容易就一头栽进去了。要规避虚假套路带来的亏…...
数据源网站分享
1. 国家统计局: http://www.stats.gov.cn/提供国家宏观经济数据 2. 工业和信息化部: http://www.miit.gov.cn 发布工业运行及信息化相关数据 3. 中国人民银行: http://www.pbc.gov.cn/ 提供金融市场政策及运行相关数据 4. 国家金融监督…...
Flutter 中的 CupertinoAlertDialog 小部件:全面指南
Flutter 中的 CupertinoAlertDialog 小部件:全面指南 在Flutter中,CupertinoAlertDialog是用于在iOS风格的应用中显示警告或提示信息的模态对话框。它以其圆角卡片和模糊背景为特点,为用户提供了一个简洁而直观的交互界面。CupertinoAlertDi…...
【RAG 论文】UPR:使用 LLM 来做检索后的 re-rank
论文:Improving Passage Retrieval with Zero-Shot Question Generation ⭐⭐⭐⭐ EMNLP 2022, arXiv:2204.07496 Code: github.com/DevSinghSachan/unsupervised-passage-reranking 论文:Open-source Large Language Models are Strong Zero-shot Query…...
安全风险 - 如何解决 setAccessible(true) 带来的安全风险?
可能每款成熟的金融app上架前都会经过层层安全检测才能执行上架,所以我隔三差五就能看到安全检测报告中提到的问题,根据问题的不同级别,处理的优先级也有所不同,此次讲的主要是一个 “轻度问题” ,个人认为属于那种可改…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
