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

C语言经典例题(23)

1.求n的阶乘。(不考虑溢出)
#include <stdio.h>int fac(int n);int main()
{int n = 0;scanf("%d", &n);int sum = fac(n);printf("%d", sum);return 0;
}int fac(int n)
{if (n > 1){return n * fac(n - 1);}elsereturn 1;
}
2.求第n个斐波那契数。(不考虑溢出)
#include <stdio.h>int fib(int n);int main()
{int n = 0;scanf("%d", &n);int sum = fib(n);printf("%d", sum);return 0;
}int fib(int n)
{if (n > 2){return fib(n - 1) + fib(n - 2);}elsereturn 1;
}
3.屏幕上输出9*9乘法口诀表
#include <stdio.h>int main()
{for (int i = 1;i <= 9;i++){for (int j = 1;j <= i;j++){printf("%d*%d=%d ",i,j,i*j);}printf("\n");}return 0;
}
4.字符串逆序(递归实现)

编写一个函数reverse_string(char *string)

实现:将参数字符串中的字符反向排列,不是逆序打印。

要求:不能使用C函数库中的字符串操作函数。

比如:char arr[] = “abcdef”

逆序之后数组的内容变成:fedcba

#include <stdio.h>void reverse_string(char* str);
int my_strlen(char* str);int main()
{char arr[] = "abcdef";reverse_string(arr);printf("%s\n", arr);return 0;
}//该方式为循环的方式实现,接下来我们用递归的方式实现
//void reverse_string(char* str)
//{
//    int left = 0;
//    int right = my_strlen(str) - 1;
//    char tmp = 0;
//    while (left < right)
//    {
//        char tmp = str[left]; //*(str + left)
//        str[left] = str[right]; //*(str + left) = *(str + right)
//        str[right] = tmp; //*(str + right) = tmp
//        left++;
//        right--;
//    }
//}void reverse_string(char* str)
{char tmp = *str;int len = my_strlen(str);*str = *(str + len - 1);*(str + len - 1) = '\0';if (my_strlen(str+1) >= 2){reverse_string(str + 1);}*(str + len - 1) = tmp;
}int my_strlen(char* str)
{int count = 0;while (*str != '\0'){count++;str++;}return count;
}
5.计算一个数的每位之和(递归实现)

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19

输入:1729,输出:19

#include <stdio.h>int DigitSum(int n);int main()
{int  x = 0;scanf("%d", &x);int sum = DigitSum(x);printf("%d\n", sum);return 0;
}int DigitSum(int n)
{if (n > 9){return DigitSum(n / 10) + n % 10;}else{return n;}
}

相关文章:

C语言经典例题(23)

1.求n的阶乘。(不考虑溢出) #include <stdio.h>int fac(int n);int main() {int n 0;scanf("%d", &n);int sum fac(n);printf("%d", sum);return 0; }int fac(int n) {if (n > 1){return n * fac(n - 1);}elsereturn 1; }2.求第n个斐波那契…...

Gitea的简单介绍

Gitea 是一个自由、开源、轻量级的 Git 服务程序。它是为了建立一个易于使用的、类似 GitHub 的 Git 服务而创建的。Gitea 采用 Go 语言编写,具有简单、快速、易于安装和配置的特点。 Gitea 提供了一个基本的 Web 界面,可以方便地进行代码托管、问题跟踪、协作等操作。用户可…...

Qt信号与槽

我们在使用Qt的时候&#xff0c;不使用Qt Designer 的方式进行开发&#xff0c;使用ui文件&#xff0c;信号与槽的连接方式是生成代码之后才能在setupUi函数里才能看到&#xff0c;或者需要进入Ui设计器里的信号槽模式里才能看到信号槽的连接。所以我们最好使用代码绘制界面。 …...

QQ农场-phpYeFarm添加数据教程

前置知识 plugin\qqfarm\core\data D:\study-project\testweb\upload\source\plugin\qqfarm\core\data 也就是plugin\qqfarm\core\data是一个缓存文件,如果更新农场数据后,必须要删除才可以 解决种子限制(必须要做才可以添加成功) 你不更改加入了id大于2000直接删除种子 D…...

Java中创建多线程的方法

继承Thread类&#xff0c;对该类进行new一个实例&#xff0c;对实例调用start方法&#xff0c;重写run方法。 缺点&#xff1a;单继承&#xff0c;无法继承 public class myThread extends Thread {public static void main(String[] args) {myThread myThread new myThread()…...

MT3020 任务分配

思路&#xff1a;利用二分找到某个时间是满足“k个人可以完成” &#xff0c;并且时间最小。 因为尽量让后面的人做任务&#xff0c;所以从后往前排任务&#xff08;倒着分配&#xff09;。从后往前遍历任务&#xff0c;如果此人加上这个任务超出之前求得的时间&#xff0c;就…...

【Redis】事务

Redis事务是一组命令的集合。这组命令顺序化执行而不会被其他命令插入。 Redis事务命令 命令描述DISCARD取消事务&#xff0c;放弃执行EXEC执行事务MULTI标记事务的开始UNWATCH取消WATCH对所有key的监控WATCH监控所有key Redis事务特点 特点说明单独的隔离操作Redis命令执行…...

每日一题(leetcode238):除自身以外数组的乘积--前缀和

不进阶是创建两个数组&#xff1a; class Solution { public:vector<int> productExceptSelf(vector<int>& nums) {int nnums.size();vector<int> left(n);vector<int> right(n);int mul1;for(int i0;i<n;i){mul*nums[i];left[i]mul;}mul1;for…...

内网通如何去除广告,内网通免广告生成器

公司使用内网通内部传输确实方便&#xff01;但是会有广告弹窗推送&#xff01;这个很烦恼&#xff01;那么如何去除广告呢&#xff01; 下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1CVVdWexliF3tBaFgN1W9aw?pwdhk7m 提取码&#xff1a;hk7m ID&#xff1a;…...

视频知识整理

1 视频播放器原理 视频播放器播放一个互联网上的视频文件&#xff0c;需要经过以下几个步骤&#xff1a; 解协议&#xff1a;将流媒体协议的数据&#xff0c;解析为标准的相应的封装格式数据 解封装&#xff1a;将封装格式的数据&#xff0c;分离成为音频流压缩编码数据和视…...

【2024】使用Rancher管理k8s集群和创建k8s集群

Rancher管理k8s集群及创建k8s集群。 Rancher版本为:2.8.2目录 rancher管理k8s集群rancher创建k8s集群rancher管理k8s集群 使用rancher管理已经存在的k8s集群。 本部分内容需要自行准备好k8s集群及rancher平台,部署请看本人其他文章 。 登录到rancher平台后,点击集群管理,…...

生成对抗网络 – Generative Adversarial Networks | GAN

目录 生成对抗网络 GAN 的基本原理 非大白话版本 第一阶段:固定「判别器D」,训练「生成器G」...

基于深度学习的生活垃圾智能分类系统(微信小程序+YOLOv5+训练数据集+开题报告+中期检查+论文)

摘要 本文基于Python技术&#xff0c;搭建了YOLOv5s深度学习模型&#xff0c;并基于该模型研发了微信小程序的垃圾分类应用系统。本项目的主要工作如下&#xff1a; &#xff08;1&#xff09;调研了移动端垃圾分类应用软件动态&#xff0c;并分析其优劣势&#xff1b;分析了深…...

软件包名生成参考

服务名称-分支名称-最后提交时间(精确到秒)-最后提交-编译时间(unix时间戳) 示例&#xff1a;crm_5.2_221024-221020160306-b846f829-1665655859 包名生成脚本参考&#xff1a; 分支名称 export GIT_BRANCH$(git branch|grep "\*"|head -n1|awk {print $NF})git最…...

八大排序算法(面试被问到)

1.八大排序算法都是什么&#xff1f; 八大排序算法有&#xff1a;插入排序、冒泡排序、归并排序、选择排序、快速排序、希尔排序、堆排序、基数排序&#xff08;通常不提&#xff09;。此外&#xff0c;还可以直接调用Arrays.sort()进行排序。 2.八大排序算法时间复杂度和稳定…...

SCP指令详细使用介绍

SCP&#xff08;Secure Copy Protocol&#xff09;是一种用于在计算机之间安全地传输文件的协议。它通过加密的方式在网络上安全地复制文件。SCP基于SSH&#xff08;Secure Shell&#xff09;协议&#xff0c;因此它提供了加密的连接和身份验证&#xff0c;确保数据在传输过程中…...

《前端面试题》- JS基础 - 防抖和节流

在界面触发点击&#xff0c;滚动&#xff0c;输入校验等事件时&#xff0c;如果对事件的触发频率不加以限制&#xff0c;会给浏览器增加负担&#xff0c;且对用户不友好。防抖和节流就是针对类似情况的解决方案。 防抖 防抖(debounce)&#xff1a;当连续触发事件时&#xff0…...

RAGFlow:基于OCR和文档解析的下一代 RAG 引擎

一、引言 在人工智能的浪潮中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;技术以其独特的优势成为了研究和应用的热点。RAG技术通过结合大型语言模型&#xff08;LLMs&#xff09;的强大生成能力和高效的信息检索系统…...

正则表达式|*+?

在理解编程语言和编译技术的上下文中&#xff0c;了解正则表达式&#xff08;regular expressions&#xff09;和正则集&#xff08;regular sets&#xff09;的概念是非常重要的。这些概念主要用于描述一组字符串的模式&#xff0c;广泛应用于词法分析中识别各类标记&#xff…...

前端开发攻略---根据音频节奏实时绘制不断变化的波形图。深入剖析如何通过代码实现音频数据的可视化。

1、演示 2、代码分析 逐行解析 JavaScript 代码块&#xff1a; const audioEle document.querySelector(audio) const cvs document.querySelector(canvas) const ctx cvs.getContext(2d)这几行代码首先获取了 <audio> 和 <canvas> 元素的引用&#xff0c;并使用…...

【计算机毕业设计】基于Java+SSM的实战开发项目150套(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f9e1;今天给大家分享150的Java毕业设计&#xff0c;基于ssm框架&#xff0c;这些项目都经过精心挑选&#xff0c;涵盖了不同的实战主题和用例&#xff0c;可做毕业设计和课程…...

STM32H7的MPU学习和应用示例

STM32H7的MPU学习记录 什么是MPU&#xff1f;MPU的三种内存类型内存映射MPU保护区域以及优先级 MPU的寄存器XN位AP位TEX、C、B、S位SRD 位SIZE 位CTRL 寄存器的各个位 示例总结 什么是MPU&#xff1f; MPU&#xff08;Memory Protection Unit&#xff0c;内存保护单元&#xf…...

964: 数细胞

样例&#xff1a; 解法&#xff1a; 1.遍历矩阵 2.判断矩阵[i][j]&#xff0c;若是未标记细胞则遍历相邻所有未标记细胞并标记&#xff0c;且计数 实现&#xff1a;遍历相邻所有未标记细胞 以DFS实现&#xff1a; function dfs(当前状态) {if (终止条件) {}vis[标记当前状…...

流程图步骤条

1.结构 <ul class"stepUl"> <li class"stepLi" v-for"(item, index) in stepList" :key"index"> <div class"top"> <p :class"{active: currentState > item.key}">{{ item.value }}…...

GPT知识库浅析

一、引言 上篇文章《GPT简介及应用》介绍了GPT的应用场景&#xff0c;里面提到GPT bot的基本使用&#xff1a;基于GPT训练好的数据&#xff0c;回答用户的问题。 但在使用过程中&#xff0c;如果用户的问题里面出现最新的术语&#xff0c;就会出现这种提示&#xff1a; 截至我…...

SpringMVC--SpringMVC的视图

目录 1. 总述 2. ThymeleafView视图 3. 转发视图 4. 重定向视图 5. 视图控制器view-controller 1. 总述 在SpringMVC框架中&#xff0c;视图&#xff08;View&#xff09;是一个非常重要的概念&#xff0c;它负责将模型数据&#xff08;Model&#xff09;展示给用户。简单…...

Datax,hbase与mysql数据相互同步

参考文章&#xff1a;datax mysql 和hbase的 相互导入 目录 0、软件版本说明 1、hbase数据同步至mysql 1.1、hbase数据 1.2、mysql数据 1.3、json脚本&#xff08;hbase2mysql.json&#xff09; 1.4、同步成功日志 2、mysql数据同步至hbase 1.1、hbase数据 1.2、mysql…...

ubuntu spdlog 封装成c++类使用

安装及编译方法&#xff1a;ubuntu spdlog 日志安装及使用_spdlog_logger_info-CSDN博客 h文件&#xff1a; #ifndef LOGGING_H #define LOGGING_H#include <iostream> #include <cstring> #include <sstream> #include <string> #include <memor…...

【C语言】——字符串函数的使用与模拟实现(上)

【C语言】——字符串函数 前言一、 s t r l e n strlen strlen 函数1.1、函数功能1.2、函数的使用1.3、函数的模拟实现&#xff08;1&#xff09;计数法&#xff08;2&#xff09;递归法&#xff08;3&#xff09;指针 - 指针 二、 s t r c p y strcpy strcpy 函数2.1、函数功能…...

数据库(1)

目录 1.什么是事务&#xff1f;事务的基本特性ACID&#xff1f; 2.数据库中并发一致性问题&#xff1f; 3.数据的隔离等级&#xff1f; 4.ACID靠什么保证的呢&#xff1f; 5.SQL优化的实践经验&#xff1f; 1.什么是事务&#xff1f;事务的基本特性ACID&#xff1f; 事务指…...

青县做网站/推广运营是什么工作

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 jmeter 性能测试数据…...

四合一做网站/西安seo招聘

1.如何计算一个函数运行的时间 import time #导入time模块starttime.time() #返回从unix诞生到现在为止的时间&#xff0c;单位是秒 print(start) def haha():print("希望你开心")endtime.time() print(end)print(end-start)输出&#xff1a; RESTART: C:/Users/d…...

网站备案在哪查/友情链接软件

本书第一章提出了一个看似简单的问题&#xff0c;有最多1000万条不同的整型数据存在于硬盘的文件中&#xff0c;如何在1M内存的情况下对其进行尽可能快的排序。 每个数字用4byte&#xff0c;1M即可存储250 000个数据&#xff0c;显然&#xff0c;只要每次对250 000个数据排序&a…...

提供免费主页空间的网站/网络口碑营销的成功案例

2、深度优先和广度优先 深度优先DFS 1、访问顶点V 2、从V的未被访问的邻接点出发&#xff0c;对图进行深度优先遍历&#xff1b; 3、直到访问到与V相通的节点&#xff1b; 4、若此时图中尚有顶点未被访问&#xff0c;则从一个未被访问的顶点出发&#xff0c;重新进行深度优先…...

wordpress多站点数据共享/培训机构在哪个平台找

2019独角兽企业重金招聘Python工程师标准>>> 为什么使用Maven&#xff1f; 1.目前的技术在开发中存在的问题 ①.一个项目就是一个工程&#xff1a; 如果项目非常庞大&#xff0c;就不适合使用package来划分模块&#xff0c;最好每一个模块对应一个工程&#xff0c;利…...

哪个网站做黑色星期五订酒店活动/域名解析网站

作者&#xff1a;LanceToBigDatahttps://www.cnblogs.com/zhangyinhua/p/11558510.html一、Lambda简述1.1、Lambda概述Lambda 表达式可以理解为简洁地表示可传递的匿名函数的一种方式&#xff1a;它没有名称&#xff0c;但它有参数列表、函数主体、返回类型&#xff0c;可能还有…...