函数练习.

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.创建一个整形数组,完成对数组的操作

  1. 实现函数init() 初始化数组为全0

  2. 实现print() 打印数组的每个元素

  3. 实现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;
}

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

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

相关文章

《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-04-软件架构演化原则

文章目录 1. 演化成本控制原则2. 进度可控原则3. 风险可控原则4. 主体维持原则5. 系统总体结构优化原则6. 平滑演化原则7. 目标一致原则8. 模块独立演化原则9. 影响可控原则10. 复杂性可控原则11. 有利于重构原则12. 有利于重用原则13. 设计原则遵从性原则14. 适应新技术原则15…

Django 4.x 智能分页get_elided_page_range

Django智能分页 分页效果 第1页的效果 第10页的效果 带输入框的效果 主要函数 # 参数解释 # number: 当前页码&#xff0c;默认&#xff1a;1 # on_each_side&#xff1a;当前页码前后显示几页&#xff0c;默认&#xff1a;3 # on_ends&#xff1a;首尾固定显示几页&#…

html5基础知识——表单

表单由三个部分组成&#xff0c;分别是表单域、表单控件、提示信息&#xff08;也就是默认显示的内容&#xff09; 表单域 使用form标签定义 将所有的元素信息定义在一块区域中 用于将表单中的所有元素信息提交给服务器 其中&#xff1a;action表示该表单将要提交到哪个地址&am…

5. DNS 记录和报文

DNS 服务器中以资源记录的形式存储信息&#xff0c;每一个 DNS 响应报文一般包含多条资源记录。一条资源记录的具体的格式为 &#xff08;Name&#xff0c;Value&#xff0c;Type&#xff0c;TTL&#xff09; 其中 TTL 是资源记录的生存时间&#xff0c;它定义了资源记录能够…

LWIP+TCP客户端

一、TCP API函数 其中tcp_poll()函数的第三个参数表示隔几秒调用一次这个周期性函数 二、修改服务器的IP 三、TCP客户端编程思路 申请套接字绑定服务器IP和端口号等待客户端连接 进入连接回调函数在连接回调函数中 配置一些回调函数&#xff0c;如接收回调函数&#xff0c;周期…

ADC STM32

/// STM32ADC模拟/数字转换详解 FOC控制库MCSDK5.4.4梳理(2)——电流采样 ///

Numpy库介绍

NumPy&#xff08;Numerical Python的缩写&#xff09;是Python中用于科学计算的一个强大的库。它提供了高性能的多维数组对象&#xff08;即ndarray&#xff09;、用于处理这些数组的工具以及用于数学函数操作的函数。让我为你介绍一下它的一些主要功能&#xff1a; 1. 多维数…

牛客 | 字符金字塔

请打印输出一个字符金字塔&#xff0c;字符金字塔的特征请参考样例 #include <stdio.h> #include <string.h> using namespace std; int main() {char c;scanf("%c", &c);for (int i 1; i < (c - 64); i)//第一个循环决定了有多少行{//c:67 第三…

每日两题 / 138. 随机链表的复制 148. 排序链表(LeetCode热题100)

138. 随机链表的复制 - 力扣&#xff08;LeetCode&#xff09; 用哈希表记录原链表中的节点是否被复制过 遍历原链表并通过哈希表维护新链表 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;rand…

苹果研发用于数据中心的AI芯片 以ACDC项目为核心

据《华尔街日报》报道&#xff0c;苹果公司(AAPL.O)一直在研发自己的芯片&#xff0c;用于在数据中心服务器上运行人工智能软件。这一举措可能为苹果在人工智能领域的竞争中提供关键优势。知情人士透露&#xff0c;这一服务器芯片项目的内部代号为ACDC&#xff08;Apple Chips …

Java | Leetcode Java题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m matrix.length, n matrix[0].length;int low 0, high m * n - 1;while (low < high) {int mid (high - low) / 2 low;int x matrix[mid / n][m…

CSS:border作用

border作用 解释方面举例 补充举例 总结 解释 在CSS&#xff08;层叠样式表&#xff09;中&#xff0c;border属性用于设置元素边框的样式、宽度和颜色。border是一个简写属性&#xff0c;它允许您在一次声明中设置以上所有属性。 方面 border-style&#xff1a;定义边框的样…

人工神经网络初步

大家好&#xff0c;这里是七七&#xff0c;由于各种比赛的缘故&#xff0c;使用了很多人工神经网络模型。但是很多的原理都不是很明白&#xff0c;就导致了不能灵活地运用┭┮﹏┭┮。为此&#xff0c;去看了些人工神经网络原理书&#xff0c;写下此专题。 在进入正文之前要先…

指针再学习笔记

概念 示例 类型 示例 作用 注意&#xff1a;有些内存地址可能系统不会允许任意访问 运算 示例 空指针

windows驱动开发-内核编程技术汇总(七)

多处理器环境出错 在基于 NT 的操作系统上&#xff0c;驱动程序是多线程的;它们可以同时接收来自不同线程的多个 I/O 请求。 在设计驱动程序时&#xff0c;必须假定它将在 SMP 系统上运行&#xff0c;并采取适当的措施来确保数据完整性。 具体而言&#xff0c;每当驱动程序更…

ue引擎游戏开发笔记(34)——建立射击映射,并添加特效

1.需求分析&#xff1a; 准备处理射击系统&#xff0c;首先角色需要能射击&#xff0c;有反馈&#xff0c;先建立角色与控制器之间的映射&#xff0c;并添加简单特效&#xff0c;证明映射已经建立。 2.操作实现&#xff1a; 1.首先常规建立映射流程&#xff0c;具体可参考笔记…

《挑战100个产品拆解:抖音》

抖音&#xff0c;作为当今社交媒体领域的明星产品&#xff0c;其背后的产品思维一直备受关注。在这篇文章中&#xff0c;我们将深入拆解抖音的产品思维&#xff0c;揭示其成功的秘密。 产品定位 1.产品是什么样的用户&#xff1a; 年轻人和青少年是抖音的主要用户群体。抖音…

Jenkins与Rancher的配合使用

Jenkins和Rancher是两个常用的DevOps工具&#xff0c;可以很好地配合使用来实现持续集成和持续部署。 Jenkins是一个开源的自动化构建工具&#xff0c;可以实现自动化的代码构建、测试和部署等一系列操作。可以通过Jenkins来触发构建任务&#xff0c;例如从代码仓库中拉取最新的…

【Qt】获取、设置环境变量

1、获取环境变量 1)qgetenv QByteArray qgetenv(const char *varName)返回名为 varName 环境变量的值,类型为 QByteArray。如果要获取 QString 可以使用 QString::fromLocal8Bit(); 如果在环境中找不到该变量,则返回默认构造的QByteArray。 注意: 在 Windows 上,如果原…

《1w实盘and大盘基金预测 day31》

昨日预测 3123-3150-3177 探底回升&#xff0c;震荡上涨&#xff0c;收小红小绿 双创指数后期上涨的幅度也是会大于上证的&#xff0c;四月底的时候就提醒建仓。 关注板块&#xff1a;医疗、地产、电力、证券 今日预测 3118-3171-3181 今天量价配合不是很好&#xff0c;缩量…