C基础day9
一、思维导图


二、课后练习
1> 使用递归实现 求 n 的 k 次方
#include<myhead.h>int Pow(int n,int k)
{if(k == 0 ) //递归出口{return 1;}else{return n*Pow(n,k-1); //递归主体}
}int main(int argc, const char *argv[])
{int n=0,k=0;printf("请输入n和k:");scanf("%d%d",&n,&k);int res = Pow(n,k);printf("%d的%d次方:%d\n",n,k,res);return 0;
}

2> 使用递归实现 strlen 的功能
#include<myhead.h>
#define Max_Size 100int Strlen_Dig(char str[Max_Size])
{char *ptr = str;if(*ptr == '\0') //递归出口{return 0;}else{return Strlen_Dig(ptr+1)+1; //指针偏移}
}int main(int argc, const char *argv[])
{while(1){printf("请输入字符串:");char str[Max_Size]; //定义字符数组gets(str); //输入字符数组int res = Strlen_Dig(str); //调用函数求数组长度printf("字符串的长度为:%d\n",res);}return 0;
}

3> 使用递归实现汉诺塔问题
#include<myhead.h>int Tower_Han(int n)
{//递归出口if(n == 1){return 1;}elsereturn Tower_Han(n-1)*2+1;
}int main(int argc, const char *argv[])
{int n = 0;printf("请输入汉诺塔的层数:");scanf("%d",&n);int res = Tower_Han(n);printf("%d层汉诺塔需要移动%d次\n",n,res);return 0;
}

4> 定义一个函数将一个字符串从大到小排序
#include<myhead.h>
#define Max_Size 100void Sort_Str(char str[Max_Size])
{char *ptr =str;int len = strlen(str); //求字符串长度//冒泡排序for(int i=1;i<len;i++){for(int j=0;j<len-i;j++){if(*(ptr+j) < *(ptr+j+1)) //降序排序{char temp = *(ptr+j);*(ptr+j) = *(ptr+j+1);*(ptr+j+1) = temp;}}}
}int main(int argc, const char *argv[])
{char str[Max_Size];//输入字符数组printf("请输入字符串");gets(str);//调用字符数组排序函数Sort_Str(str);//输出排序后的字符串puts(str);return 0;
}

5> 实现一个函数,用于检查一个字符串是否是回文字符串(正序和反序都相同)
#include<myhead.h>#define Max_Size 100void HuiWen(char str[Max_Size])
{//定义指针变量指向字符数组首位char *ptr = str;//求字符串长度int len = strlen(str);//判断上是否为回文字符串int i=0;for(i=0;i<len/2;i++){//判断字符串是否对称相等if(*(ptr+i) == *(ptr+len-1-i))continue;elsebreak;}//通过i判断上述判断进行位置if(i >= len/2)printf("该字符串是回文字符串\n");elseprintf("该字符串不是回文字符串\n");
}int main(int argc, const char *argv[])
{//定义一位字符数组存储字符串char str[Max_Size];//输入字符数组printf("请输入字符串:");gets(str);//调用函数判断HuiWen(str);return 0;
}

6> 使用指针完成判断自己的主机存储多字节整数时,是大端存储还是小端存储
#include<myhead.h>
int main(int argc, const char *argv[])
{int n =1;char *ptr = (char*)&n;if(*ptr == 1)printf("小端存储\n");elseprintf("大端存储\n");return 0;
}

7> 有一段文本,写一段程序统计其中的单词数。例如:Do one thing at a time, and do well.
(注意:单词间的间隔不一定是一个空格。)
#include<myhead.h>#define Max_size 100//判断字符是否为空白字符
int isWhitespace(char c) {return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
}// 判断字符是否为标点符号
int isPunctuation(char c) {return (c == '.' || c == ',' || c == ';' || c == ':' || c == '!' || c == '?');
}// 计算文本中的单词数
int Num_Word(const char* str) {int inWord = 0;int wordCount = 0;while (*str) {// 跳过空白字符和标点符号while (isWhitespace(*str) || isPunctuation(*str)) {str++;}if (*str) { // 如果不是字符串末尾wordCount++; // 遇到单词的开始inWord = 1;// 继续往后找,直到遇到空白字符或标点符号while (*str && !isWhitespace(*str) && !isPunctuation(*str)) {str++;}}}return wordCount;
}int main(int argc, const char *argv[])
{//定义字符数组并输入char str[Max_size];printf("请输入字符串:");gets(str);//调用求单词数函数int res = Num_Word(str);printf("上述文本单词数量为:%d\n",res);return 0;
}

相关文章:
C基础day9
一、思维导图 二、课后练习 1> 使用递归实现 求 n 的 k 次方 #include<myhead.h>int Pow(int n,int k) {if(k 0 ) //递归出口{return 1;}else{return n*Pow(n,k-1); //递归主体} }int main(int argc, const char *argv[]) {int n0,k0;printf("请输入n和k:&…...
32. 小批量梯度下降法(Mini-batch Gradient Descent)
在深度学习模型的训练过程中,梯度下降法是最常用的优化算法之一。我们前面介绍了批量梯度下降法(Batch Gradient Descent)和随机梯度下降法(Stochastic Gradient Descent),两者各有优缺点。为了在计算速度和…...
MySQL第八次作业
一、备份与恢复作业: 创库,建表: CREATE DATABASE booksDB; use booksDB; CREATE TABLE books ( bk_id INT NOT NULL PRIMARY KEY, bk_title VARCHAR(50) NOT NULL, copyright YEAR NOT NULL ); CREATE TABLE authors …...
【合集】临时邮箱网站 临时邮箱API(持续更新)
众所周知,在注册一些账户时,比较常见的验证方式就是邮箱,但是在进行一些小众和不知名网站注册时,邮箱的泄露可能预示着不休止的邮件推送。尤其是当我们只是想临时使用邮箱这种情况,第二种,批量注册账号的情…...
职场新人感受
互联网职场感受 阶段介绍 24届6月底毕业生,之前从未实习过。 岗位是后端开发(JAVA),目前已经上班三周(前两周看文档和做了半个简单需求,第三周脱产新人培训)。 职场体验 职场和想象中的工作…...
Window 下Mamba 环境安装踩坑问题汇总及解决方法 (无需绕过selective_scan_cuda)
导航 Mamba 及 Vim 安装问题参看本人之前博客:Mamba 环境安装踩坑问题汇总及解决方法Linux 下Vmamba 安装教程参看本人之前博客:Vmamba 安装教程(无需更改base环境中的cuda版本)Windows 下 VMamba的安装参看本人之前博客…...
前端项目本地的node_modules直接上传到服务器上无法直接使用(node-sasa模块报错)
跑 jekins任务的服务器不能连接外网下载依赖包,就将本地下载的 node_modules直接上传到服务器上,但是运行时node-sass模块报错了ERROR in Missing binding /root/component/node_modules/node-sass/vendor/linux-x64-48/binding.node >> 报错信息类…...
Hadoop3:动态扩容之新增一台机器的初始化工作
一、需求描述 给Hadoop集群动态扩容一个节点 那么,这个节点是全新的,我们需要做哪些准备工作,才能将它融入集群了? 二、初始化配置 1、修改IP和hostname vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/hostname2、…...
【正点原子i.MX93开发板试用连载体验】录音小程序采集语料
本文最早发表于电子发烧友论坛:【新提醒】【正点原子i.MX93开发板试用连载体验】基于深度学习的语音本地控制 - 正点原子学习小组 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) 接下来就是要尝试训练中文提示词。首先要进行语料采集,这是一…...
【EasyExcel】动态替换表头内容并应用样式
1.定义实体类 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ContentStyle; import com.alibaba.excel.metadata.BorderStyleEnum; import com.alibaba.excel.metadata.VerticalAlignmentEnum; import com.alibaba.excel.metadata.…...
RocketMQ实现分布式事务
RocketMQ的分布式事务消息功能,在普通消息基础上,支持二阶段的提交。将二阶段提交和本地事务绑定,实现全局提交结果的一致性。 1、生产者将消息发送至RocketMQ服务端。 2、RocketMQ服务端将消息持久化成功之后,向生产者返回Ack确…...
【Rust练习】2.数值类型
练习题来自https://practice-zh.course.rs/basic-types/numbers.html 1 // 移除某个部分让代码工作 fn main() {let x: i32 5;let mut y: u32 5;y x;let z 10; // 这里 z 的类型是? }y的类型不对,另外,数字的默认类型是i32 fn main() {let x: i…...
通过 PPPOE 将 linux 服务器作为本地局域网 IPv4 外网网关
将 linux 服务器作为本地外网网关,方便利用 Linux 生态中的各种网络工具,对流量进行自定义、精细化管理… 环境说明 拨号主机:CentOS 7.9, Linux Kernel 5.4.257 拨号软件: rp-pppoe-3.11-7.el7.x86_64初始化 1、升级系统到新的稳定内核&a…...
gin源码分析
一、高性能 使用sync.pool解决频繁创建的context对象,在百万并发的场景下能大大提供访问性能和减少GC // ServeHTTP conforms to the http.Handler interface. // 每次的http请求都会从sync.pool中获取context,用完之后归还到pool中 func (engine *Engin…...
数学建模入门
目录 文章目录 前言 一、数学建模是什么? 1、官方概念: 2、具体过程 3、适合哪一类人参加? 4、需要有哪些学科基础呢? 二、怎样准备数学建模(必备‘硬件’) 1.组队 2.资料搜索 3.常用算法总结 4.论文撰写的…...
【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十二)-无人机群在物流中的应用
引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…...
同三维T80006EH2-4K30编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清HDMI编码器,双路4K超高清编码器
同三维T80006EH2-4K30编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清HDMI编码器,双路4K超高清编码器 T80006EH2-4K30编码器 同三维,十多年老品牌,我们一直专注:视频采集卡、视频…...
DHCP原理及配置
目录 一、DHCP原理 DHCP介绍 DHCP工作原理 DHCP分配方式 工作原理 DHCP重新登录 DHCP优点 二、DHCP配置 一、DHCP原理 1 DHCP介绍 大家都知道,现在出门很多地方基本上都有WIFI,那么有没有想过这样一个问题,平时在家里都是“固定”的…...
异步日志:性能优化的金钥匙
一、背景 2024 年 4 月的一个宁静的夜晚,正当大家忙完一天的工作准备休息时,应急群里“咚咚咚”开始报警,提示我们余利宝业务的赎回接口成功率下降。 通过 Monitor 监控发现,该接口的耗时已经超过了网关配置的超时阈值(2s)&#…...
matlab仿真 模拟调制(上)
(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容,有兴趣的读者请阅读原书) 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…...
Windows下OpenClaw安装避坑:Gemma-3-12b-it接口对接详解
Windows下OpenClaw安装避坑:Gemma-3-12b-it接口对接详解 1. 为什么选择OpenClawGemma组合 去年第一次听说OpenClaw时,我正被重复性的文件整理工作折磨得焦头烂额。作为一个常年与Windows共处的开发者,我一直在寻找既能保护隐私又能实现办公…...
C#运动控制入门:从零开始用PID算法控制伺服电机(附完整代码)
C#运动控制入门:从零开始用PID算法控制伺服电机(附完整代码) 第一次尝试用代码控制伺服电机时,我盯着那台嗡嗡作响的设备,看着它时而抽搐、时而狂奔,完全不像预期那样优雅地移动到指定位置。那一刻我意识到…...
如何绕过iOS 15-16激活锁:AppleRa1n工具实战指南
如何绕过iOS 15-16激活锁:AppleRa1n工具实战指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 当你的iPhone或iPad因遗忘Apple ID密码、二手交易或维修后无法激活时,设备瞬间…...
《SpaceOS:空间操作系统白皮书(终极封神版)》——从“像素认知”到“空间计算”,构建现实世界的智能操作体系
🚀《SpaceOS:空间操作系统白皮书(终极封神版)》——从“像素认知”到“空间计算”,构建现实世界的智能操作体系(镜像视界(浙江)科技有限公司原创技术体系)🔴 …...
掌握微信小程序逆向分析的3个关键:wxappUnpacker深度解析与实战指南
掌握微信小程序逆向分析的3个关键:wxappUnpacker深度解析与实战指南 【免费下载链接】wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 在微信小程序开发与学习过程中,开发者常常需要深入理解优秀小程序的实现原理…...
从数据到模型:Paraformer与SenseVoice专业名词识别优化实战
1. 专业名词识别难题的根源分析 当你第一次听到语音识别模型把"冠状动脉粥样硬化"识别成"冠状动脉造样硬化"时,可能会觉得这只是个偶然错误。但当我们处理金融、医疗、科技等领域的专业音频时,这类错误会频繁出现,严重影…...
终极解锁NCM音乐自由:从加密困境到全设备畅听的技术破局指南
终极解锁NCM音乐自由:从加密困境到全设备畅听的技术破局指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾遇到这样的尴尬:精心收藏的网易云音乐下载到本地后,却发现是无法在其他设备播…...
Unity游戏实时翻译插件XUnity.AutoTranslator的完整技术解析与实战指南
Unity游戏实时翻译插件XUnity.AutoTranslator的完整技术解析与实战指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一个功能强大的Unity游戏自动翻译框架,为全球玩…...
基于springboot+vue房屋拆迁管理系统hx0514Z1A1
文章目录详细视频演示技术介绍功能介绍核心代码系统效果图源码获取详细视频演示 文章底部名片,获取项目的完整演示视频,免费解答技术疑问 技术介绍 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomca…...
告别暴力搜索!用DiffDock的扩散模型5分钟搞定分子对接,效率提升12倍
5分钟颠覆传统:DiffDock如何用扩散模型重构分子对接效率天花板 在药物研发的漫长链条中,分子对接就像一把精准的钥匙开锁过程——需要找到小分子配体与靶标蛋白最契合的三维结合方式。传统方法如同盲人摸象,耗费数小时在亿万种可能中暴力搜索…...
