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

初识C语言——第二十八天

代码练习1:

用函数的方式实现9*9乘法表

void print_table(int n)
{int i = 0;int j = 0;for (i = 1; i<= n; i++){for (j = 1; j<= i; j++){printf("%d*%d=%-3d   ", i, j, i * j);}printf("\n");}}int main()
{int n = 0;scanf("%d", &n);print_table(n);return 0;
}    

代码练习2

//我的思路1 用循环实现
int my_strlen(char* pi)
{int count = 0;while (*pi != '\0'){count++;pi++;}return count;
}void reverse_string(char* str)
{int left = 0;int right = my_strlen(str)-1;while (left < right){char pa = str[left];str[left] = str[right];str[right] = pa;left++;right--;}}int main()
{char arr[] = "abcdef" ;reverse_string(arr);printf("%s\n", arr);return 0;
}
//我的思路2   用递归去实现 定义三个参数
void reverse_string(char* str,int x,int y)
{if (x<y){    char pa='0';pa = str[x];str[x] = str[y];str[y] = pa;reverse_string(str,x+1,y-1);}
}int main()
{char arr[] = "abcdef" ;int left = 0;int right = my_strlen(arr) - 1;reverse_string(arr,left,right);printf("%s\n", arr);return 0;
}

大佬思路

//大佬思路  用递归实现
int my_strlen(char* pi)
{int count = 0;while (*pi != '\0'){count++;pi++;}return count;
}void reverse_string(char* str)
{char tmp = *str;//1int len = my_strlen(str);//注释:这里必须多定义一个变量len,//而不能直接使用my_strlen(str)放入函数中,因为str表示指针,出现str+1,就表明地址往前+1*str = *(str + len - 1);//2*(str + len -1) = '\0';//3if (my_strlen(str + 1) >= 2){reverse_string(str + 1);//4}*(str + len - 1) = tmp;//5}int main()
{char arr[] = "abcdef";reverse_string(arr);printf("%s\n", arr);return 0;
}

相关文章:

初识C语言——第二十八天

代码练习1&#xff1a; 用函数的方式实现9*9乘法表 void print_table(int n) {int i 0;int j 0;for (i 1; i< n; i){for (j 1; j< i; j){printf("%d*%d%-3d ", i, j, i * j);}printf("\n");}}int main() {int n 0;scanf("%d", &a…...

Android NDK系列(三)输入事件分发到Native层的流程

在Android NDK系列(一)手动搭建Native Project 创建的Native工程中,是可以接收输入事件的,只需在android_main中注册输入事件的处理函数,当触摸屏幕后,handleInputEvent函数便会调用,代码如下。 static int32_t handleInputEvent(struct android_app* app, AInputEvent…...

Kafka之【生产消息】

消息&#xff08;Record&#xff09; 在kafka中传递的数据我们称之为消息&#xff08;message&#xff09;或记录(record)&#xff0c;所以Kafka发送数据前&#xff0c;需要将待发送的数据封装为指定的数据模型&#xff1a; 相关属性必须在构建数据模型时指定&#xff0c;其中…...

asp.net core接入prometheus

安装prometheus和Grafana 参考之前的文章->安装prometheus和Grafana教程 源代码 dotnet源代码 新建.net core7 web项目 修改Program.cs using Prometheus;namespace PrometheusStu01;public class Program {public static void Main(string[] args){var builder We…...

C++ 变量类型与转换

C 变量类型与转换 文章目录 C 变量类型与转换变量int_tsize_t与ssize_tpid_ttime_t typenametypeid关键字类型转换编译期类型转换std::static_cast注意事项运行时类型转换std::dynamic_cast 变量 int_t 它是通过typedef定义的&#xff0c;而不是一种新的数据类型。 - int8_t…...

【杂七杂八】Huawei Gt runner手表系统降级

文章目录 Step1&#xff1a;下载安装修改版华为运动与健康Step2&#xff1a;在APP里进行配置Step3&#xff1a;更新固件(时间会很长) 目前在使用用鸿蒙4 111版本的手表系统&#xff0c;但是感觉睡眠检测和运动心率检测一言难尽&#xff0c;于是想到是否能回退到以前的版本&…...

FMEA做不出来的原因究竟是什么?——FMEA软件

免费试用FMEA软件-免费版-SunFMEA FMEA&#xff08;Failure Mode and Effects Analysis&#xff09;即故障模式与影响分析&#xff0c;是一种旨在识别并预防潜在问题的方法。然而&#xff0c;尽管其重要性被广泛认知&#xff0c;但在实际应用中&#xff0c;却常常遇到FMEA难以…...

pandas ExcelWriter写excel报错openpyxl.utils.exceptions.IllegalCharacterError

一直使用pandas写excel&#xff0c;本次写的数据有大字段&#xff0c;每次写到该字段就报错&#xff0c;代码如下&#xff1a; with pd.ExcelWriter(r".\提数_20240523\tq_type3_doc.xlsx", engineopenpyxl) as writer: df.to_excel(writer,indexFalse, sheet_namesh…...

Golang创建文件夹

方法 package zdpgo_fileimport ("os" )// AddDir 创建文件夹 func AddDir(dir string) error {if !IsExist(dir) {return os.MkdirAll(dir, os.ModePerm)}return nil }测试 package zdpgo_fileimport "testing"func TestAddDir(t *testing.T) {data : […...

头歌OpenGauss数据库-I.复杂查询第5关:至少学了某位学生(Oliver)所学的全部课程的学生

本关任务:根据提供的表和数据,查询至少学了Oliver同学所学的全部课程的其他同学的信息(学号s_id,姓名`s_name)。 student表数据: s_ids_names_sex01Mia女02Riley男03Aria女04Lucas女05Oliver男06Caden男07Lily女08Jacob男course表数据: c_idc_namet_id01Chinese0202Math…...

【数据结构】哈夫曼树和哈夫曼编码

一、哈夫曼树 1.1 哈夫曼树的概念 给定一个序列&#xff0c;将序列中的所有元素作为叶子节点构建一棵二叉树&#xff0c;并使这棵树的带权路径长度最小&#xff0c;那么我们就得到了一棵哈夫曼树&#xff08;又称最优二叉树&#xff09; 接下来是名词解释&#xff1a; 权&a…...

深入探索微软Edge:领略新一代浏览器的无限可能

深入探索微软Edge&#xff1a;领略新一代浏览器的无限可能 在当今数字化时代&#xff0c;网络浏览器已经成为我们日常生活中不可或缺的一部分。而随着技术的不断进步&#xff0c;浏览器的功能和性能也在不断提升。微软Edge作为微软推出的全新一代浏览器&#xff0c;引领着浏览…...

JavaScript表达式和运算符

表达式 表达式一般由常量、变量、运算符、子表达式构成。最简单的表达式可以是一个简单的值。常量或变量。例&#xff1a;var a10 运算符 运算符一般用符号来表示&#xff0c;也有些使用关键字表示。运算符由3中类型 1.一元运算符&#xff1a;一个运算符能够结合一个操作数&…...

爬虫实训案例:中国大学排名

近一个月左右的时间学习爬虫&#xff0c;在用所积累的知识爬取了《中国大学排名》这个网站&#xff0c;爬取的内容虽然只是可见的文本&#xff0c;但对于初学者来说是一个很好的练习。在爬取的过程中&#xff0c;通过请求数据、解析内容、提取文本、存储数据等几个重要的内容入…...

C++ IO流

C标准IO流 使用cout进行标准输出&#xff0c;即数据从内存流向控制台(显示器)使用cin进行标准输入&#xff0c;即数据通过键盘输入到程序中使用cerr进行标准错误的输出使用clog进行日志的输出 C文件IO流 文件流对象 ofstream&#xff1a;只写 ofstream 是 C 中用于输出文件…...

debian nginx upsync consul 实现动态负载

1. consul 安装 wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_r…...

前端基础入门三大核心之HTML篇 —— 同源策略的深度解析与安全实践

前端基础入门三大核心之HTML篇 —— 同源策略的深度解析与安全实践 一、同源策略&#xff1a;定义与起源1.1 定义浅析1.2 何为“源”&#xff1f;1.3 起源与意义 二、同源策略的运作机制2.1 限制范围2.2 安全边界 三、跨越同源的挑战与对策3.1 JSONP3.2 CORS3.3 postMessage 四…...

go 微服务框架 kratos 日志库使用方法及原理探究

一、Kratos 日志设计理念 kratos 日志库相关的官方文档&#xff1a;日志 | Kratos Kratos的日志库主要有如下特性&#xff1a; Logger用于对接各种日志库或日志平台&#xff0c;可以用现成的或者自己实现Helper是在您的项目代码中实际需要调用的&#xff0c;用于在业务代码里…...

VC++位移操作>>和<<以及逻辑驱动器插拔产生的掩码dbv.dbcv_unitmask进行分析的相关代码

VC位移操作>>和<<以及逻辑驱动器插拔产生的掩码dbv.dbcv_unitmask进行分析的相关代码 一、VC位移操作符<<和>>1、右位移操作符 >>&#xff1a;2、左位移操作符 <<&#xff1a; 二、逻辑驱动器插拔产生的掩码 dbv.dbcv_unitmask 进行分析的…...

查看gpu

## 查看gpu信息 if_cuda torch.cuda.is_available() print("if_cuda",if_cuda)gpu_count torch.cuda.device_count() print("gpu_count",gpu_count)...

保姆级教学:FLUX.1文生图+SDXL Prompt风格,从环境准备到图片生成的完整流程

保姆级教学&#xff1a;FLUX.1文生图SDXL Prompt风格&#xff0c;从环境准备到图片生成的完整流程 你是否曾经遇到过这样的困扰&#xff1a;明明输入了详细的描述词&#xff0c;但生成的图片却与预期相差甚远&#xff1f;或者尝试混合多种风格时&#xff0c;结果变得不伦不类&…...

LTE CDRX配置优化与日志解析实战

1. LTE CDRX功能基础与核心参数解析 CDRX&#xff08;Connected Mode DRX&#xff09;是LTE网络中终端设备在连接状态下实现节能的关键技术。想象一下你的手机就像个熬夜加班的程序员&#xff0c;如果一直盯着电脑屏幕&#xff08;持续监听网络信号&#xff09;&#xff0c;电量…...

【C++27 constexpr革命性突破】:5大新增约束与3类不可逆性能跃迁,资深编译器工程师亲授落地实践

第一章&#xff1a;C27 constexpr革命性突破的底层动因与标准演进全景C27 将首次允许 constexpr 函数完整支持动态内存分配&#xff08;std::allocator 与 new/delete&#xff09;、虚函数调用、异常处理&#xff08;try/catch&#xff09;及完整 I/O 流子集&#xff0c;其根本…...

Slim模板终极部署指南:从开发到生产的完整流程

Slim模板终极部署指南&#xff1a;从开发到生产的完整流程 【免费下载链接】slim Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic. 项目地址: https://gitcode.com/gh_mirrors/sli/slim Slim模板语言…...

终极Kando多语言指南:如何快速实现跨平台饼状菜单的国际化支持

终极Kando多语言指南&#xff1a;如何快速实现跨平台饼状菜单的国际化支持 【免费下载链接】kando &#x1f338; Do things with utmost efficiency. 项目地址: https://gitcode.com/gh_mirrors/ka/kando Kando是一款高效的跨平台饼状菜单工具&#xff0c;通过直观的径…...

渗流完美降雨边界:单、双重渗透介质降雨边界处理的改进探索

渗流完美降雨边界——基于单、双重渗透介质降雨边界处理的改进 [1]模型简介&#xff1a;使用数值模拟软件COMSOL复现论文&#xff08;窦智,刘一民,周志芳,等.基于单、双重渗透介质降雨边界处理的改进[J].岩土力学,2022,43(03):789-798.&#xff09;&#xff0c;该文献针对传统降…...

遥感影像解译实战:从目视解译八要素到精准分类

1. 遥感影像解译的底层逻辑 第一次接触遥感影像时&#xff0c;我盯着屏幕上的彩色方块发懵——这堆像素点怎么能看出是森林还是农田&#xff1f;后来才发现&#xff0c;解译就像玩"大家来找茬"&#xff0c;关键要掌握八要素这把万能钥匙。大小、形状、阴影、颜色、纹…...

Windows HEIC缩略图支持:让资源管理器直接预览HEIC文件的完整方案

Windows HEIC缩略图支持&#xff1a;让资源管理器直接预览HEIC文件的完整方案 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 跨平台图…...

MentorBit红外驱动库:裸机与RTOS下的精准时序控制

1. MentorBit-DetectorIR 库概述MentorBit-DetectorIR 是一款专为 MentorBit 红外发射/接收模块设计的嵌入式底层驱动库&#xff0c;其核心定位并非通用红外协议栈&#xff08;如 NEC、RC5 解码&#xff09;&#xff0c;而是面向硬件验证、模块级功能测试与快速原型开发的轻量级…...

vmware workstation 安装esxi ,ip 设置192.168.10.4, 网络中心 vmnet8 ip 网关也是同一个网段,但是浏览器打不开ip 地址

esxi虚拟机配置上网 vmware esxi 虚拟机网络设置vmware workstation 安装esxi ,ip 设置192.168.10.4&#xff0c; 网络中心 vmnet8 ip 网关也是同一个网段&#xff0c;但是浏览器打不开ip 地址 在 VMware Workstation 中安装 ESXi 后无法通过浏览器访问管理界面&#xff08;19…...