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

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)

在深度学习模型的训练过程中&#xff0c;梯度下降法是最常用的优化算法之一。我们前面介绍了批量梯度下降法&#xff08;Batch Gradient Descent&#xff09;和随机梯度下降法&#xff08;Stochastic Gradient Descent&#xff09;&#xff0c;两者各有优缺点。为了在计算速度和…...

MySQL第八次作业

一、备份与恢复作业&#xff1a; 创库,建表&#xff1a; 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(持续更新)

众所周知&#xff0c;在注册一些账户时&#xff0c;比较常见的验证方式就是邮箱&#xff0c;但是在进行一些小众和不知名网站注册时&#xff0c;邮箱的泄露可能预示着不休止的邮件推送。尤其是当我们只是想临时使用邮箱这种情况&#xff0c;第二种&#xff0c;批量注册账号的情…...

职场新人感受

互联网职场感受 阶段介绍 24届6月底毕业生&#xff0c;之前从未实习过。 岗位是后端开发&#xff08;JAVA&#xff09;&#xff0c;目前已经上班三周&#xff08;前两周看文档和做了半个简单需求&#xff0c;第三周脱产新人培训&#xff09;。 职场体验 职场和想象中的工作…...

Window 下Mamba 环境安装踩坑问题汇总及解决方法 (无需绕过selective_scan_cuda)

导航 Mamba 及 Vim 安装问题参看本人之前博客&#xff1a;Mamba 环境安装踩坑问题汇总及解决方法Linux 下Vmamba 安装教程参看本人之前博客&#xff1a;Vmamba 安装教程&#xff08;无需更改base环境中的cuda版本&#xff09;Windows 下 VMamba的安装参看本人之前博客&#xf…...

前端项目本地的node_modules直接上传到服务器上无法直接使用(node-sasa模块报错)

跑 jekins任务的服务器不能连接外网下载依赖包&#xff0c;就将本地下载的 node_modules直接上传到服务器上&#xff0c;但是运行时node-sass模块报错了ERROR in Missing binding /root/component/node_modules/node-sass/vendor/linux-x64-48/binding.node >> 报错信息类…...

Hadoop3:动态扩容之新增一台机器的初始化工作

一、需求描述 给Hadoop集群动态扩容一个节点 那么&#xff0c;这个节点是全新的&#xff0c;我们需要做哪些准备工作&#xff0c;才能将它融入集群了&#xff1f; 二、初始化配置 1、修改IP和hostname vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/hostname2、…...

【正点原子i.MX93开发板试用连载体验】录音小程序采集语料

本文最早发表于电子发烧友论坛&#xff1a;【新提醒】【正点原子i.MX93开发板试用连载体验】基于深度学习的语音本地控制 - 正点原子学习小组 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) 接下来就是要尝试训练中文提示词。首先要进行语料采集&#xff0c;这是一…...

【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的分布式事务消息功能&#xff0c;在普通消息基础上&#xff0c;支持二阶段的提交。将二阶段提交和本地事务绑定&#xff0c;实现全局提交结果的一致性。 1、生产者将消息发送至RocketMQ服务端。 2、RocketMQ服务端将消息持久化成功之后&#xff0c;向生产者返回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的类型不对&#xff0c;另外&#xff0c;数字的默认类型是i32 fn main() {let x: i…...

通过 PPPOE 将 linux 服务器作为本地局域网 IPv4 外网网关

将 linux 服务器作为本地外网网关&#xff0c;方便利用 Linux 生态中的各种网络工具&#xff0c;对流量进行自定义、精细化管理… 环境说明 拨号主机&#xff1a;CentOS 7.9, Linux Kernel 5.4.257 拨号软件: rp-pppoe-3.11-7.el7.x86_64初始化 1、升级系统到新的稳定内核&a…...

gin源码分析

一、高性能 使用sync.pool解决频繁创建的context对象&#xff0c;在百万并发的场景下能大大提供访问性能和减少GC // ServeHTTP conforms to the http.Handler interface. // 每次的http请求都会从sync.pool中获取context&#xff0c;用完之后归还到pool中 func (engine *Engin…...

数学建模入门

目录 文章目录 前言 一、数学建模是什么&#xff1f; 1、官方概念&#xff1a; 2、具体过程 3、适合哪一类人参加&#xff1f; 4、需要有哪些学科基础呢&#xff1f; 二、怎样准备数学建模&#xff08;必备‘硬件’&#xff09; 1.组队 2.资料搜索 3.常用算法总结 4.论文撰写的…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十二)-无人机群在物流中的应用

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…...

同三维T80006EH2-4K30编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清HDMI编码器,双路4K超高清编码器

同三维T80006EH2-4K30编码器视频使用操作说明书&#xff1a;高清HDMI编码器&#xff0c;高清SDI编码器&#xff0c;4K超清HDMI编码器&#xff0c;双路4K超高清编码器 T80006EH2-4K30编码器 同三维&#xff0c;十多年老品牌&#xff0c;我们一直专注&#xff1a;视频采集卡、视频…...

DHCP原理及配置

目录 一、DHCP原理 DHCP介绍 DHCP工作原理 DHCP分配方式 工作原理 DHCP重新登录 DHCP优点 二、DHCP配置 一、DHCP原理 1 DHCP介绍 大家都知道&#xff0c;现在出门很多地方基本上都有WIFI&#xff0c;那么有没有想过这样一个问题&#xff0c;平时在家里都是“固定”的…...

异步日志:性能优化的金钥匙

一、背景 2024 年 4 月的一个宁静的夜晚&#xff0c;正当大家忙完一天的工作准备休息时&#xff0c;应急群里“咚咚咚”开始报警&#xff0c;提示我们余利宝业务的赎回接口成功率下降。 通过 Monitor 监控发现&#xff0c;该接口的耗时已经超过了网关配置的超时阈值(2s)&#…...

matlab仿真 模拟调制(上)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…...

RMSNorm:LLM 里的归一化为什么换成了这个

本文基于昇腾CANN和昇腾NPU&#xff0c;围绕 ops-transformer 仓库的相关技术展开。 LayerNorm 在大模型里被 RMSNorm 替换了。LayerNorm 做了减均值再除方差&#xff0c;RMSNorm 只除均方根——去掉了减均值那一步。少一次 Reduce 操作&#xff0c;在量产推理里省掉 15-20% 的…...

为开源 AI 工具 OpenClaw 配置 Taotoken 作为其模型供应商的步骤

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为开源 AI 工具 OpenClaw 配置 Taotoken 作为其模型供应商的步骤 对于使用 OpenClaw 这类开源 AI 工具链的开发者而言&#xff0c;…...

军规零外源设备要求,无感定位完全替代UWB硬件堆叠方案

军规零外源设备要求&#xff0c;无感定位完全替代UWB硬件堆叠方案军队营区管控、战备执勤、野外演训、涉密阵地等场景&#xff0c;严格遵循军规装备管理准则&#xff0c;奉行零外源附加设备硬性管控标准&#xff0c;严禁额外加装大量外置终端、基站、线缆类附属设施。传统UWB定…...

Kotlin 跨平台 SqliteNow 全平台数据持久化方案

Kotlin 跨平台 SqliteNow 全平台数据持久化方案1. 环境与依赖配置1.0 创建一个Kotlin 多平台项目1.1 版本声明&#xff08;libs.versions.toml&#xff09;1.2 项目级插件配置&#xff08;build.gradle.kts&#xff09;1.3 模块级依赖配置&#xff08;app/shared/build.gradle.…...

从分钟到秒级:我们用 Fluss + Paimon 替换掉 Kafka + Iceberg,实时宽表终于不用 Flink 死扛了

从分钟到秒级&#xff1a;我们用 Fluss Paimon 替换掉 Kafka Iceberg&#xff0c;实时宽表终于不用 Flink 死扛了 &#x1f4c5; 更新于 2026-05-21 | &#x1f3f7;️ Fluss Paimon 湖流一体 实时数仓 架构升级 摘要&#xff1a;上一代湖仓一体架构中&#xff0c;Kafka …...

华为麒麟芯片不外售背后的商业逻辑与技术护城河

1. 从一则新闻说起&#xff1a;麒麟芯片的“不对外”意味着什么前几天&#xff0c;华为轮值董事长徐直军先生在一次公开场合的发言&#xff0c;在科技圈里又激起了一阵讨论。他明确表示&#xff0c;华为“没有任何想法把麒麟芯片对外销售”。这句话乍一听&#xff0c;可能让不少…...

Bebas Neue字体完全指南:免费商用的现代设计利器

Bebas Neue字体完全指南&#xff1a;免费商用的现代设计利器 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 还在寻找一款能为你的设计项目增添专业感的免费字体吗&#xff1f;Bebas Neue字体库正是你需要的完美…...

res-downloader终极指南:5分钟掌握全平台资源高效下载秘籍

res-downloader终极指南&#xff1a;5分钟掌握全平台资源高效下载秘籍 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 想要轻…...

黑苹果配置终极简化:OpCore Simplify三步搞定OpenCore EFI

黑苹果配置终极简化&#xff1a;OpCore Simplify三步搞定OpenCore EFI 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗…...

5个实战技巧:Unlock-Music浏览器端音乐解密技术深度解析

5个实战技巧&#xff1a;Unlock-Music浏览器端音乐解密技术深度解析 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: htt…...