初识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;
}

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

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

相关文章

汉明码(海明码)的计算的规则

一.汉明码的由来 1.汉明码&#xff08;Hamming Code&#xff09;&#xff0c;是在电信领域的一种线性调试码&#xff0c;以发明者理查德卫斯里汉明的名字命名。汉明码在传输的消息流中插入验证码&#xff0c;当计算机存储或移动数据时&#xff0c;可能会产生数据位错误&#x…

【VUE】 如何关闭ESlint的自动修复功能

问题描述例如&#xff1a;原书写代码ESLint自动修复报错如下 方案一、在文件中添加屏蔽警告的代码html代码中JavaScript代码中 方案二、关闭ESLint的自动修复功能1、VSCode 扩展找到 ESLint 插件2、在设置中找到在 settings,json 中编辑3、将"autoFix": true改为&quo…

4.双指针+递归

一、双指针编程技巧 方法参数传递数组 将数组通过方法参数传递&#xff0c;方法操作的数组和main方法中的数组指向同一块内存区域&#xff0c;意味着方法操作数组&#xff0c;同时会引起main方法中数组的改变以引用的方式作为方法参数进行传递的 元素交换 定义临时变量temp&a…

第十二节 SpringBoot Starter 系列结束语

感谢阅读&#xff0c;到这里&#xff0c;本系列课程就结束了。 一、为什么选择 SpringBoot Starter SpringBoot 近年来已经成为 Java 应用的必备框架&#xff1b; 而 SpringBoot starter 模式已经成为各大中间件集成到 SpringBoot 应用的首选方式&#xff0c;通过引入 xxx-st…

C++ | Leetcode C++题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; class Solution { public:bool check(TreeNode *u, TreeNode *v) {queue <TreeNode*> q;q.push(u); q.push(v);while (!q.empty()) {u q.front(); q.pop();v q.front(); q.pop();if (!u && !v) continue;if ((!u || !v) ||…

爬虫基础1

一、爬虫的基本概念 1.什么是爬虫&#xff1f; 请求网站并提取数据的自动化程序 2.爬虫的分类 2.1 通用爬虫&#xff08;大而全&#xff09; 功能强大&#xff0c;采集面广&#xff0c;通常用于搜索引擎&#xff1a;百度&#xff0c;360&#xff0c;谷歌 2.2 聚焦爬虫&#x…

Android App启动流程和源码详解

前言 之前看了些App启动流程的文章&#xff0c;但是看得很浅显&#xff0c;隔了没多久就忘了&#xff0c;自己抓耳挠腮的终于看完了&#xff0c;看得头疼哦。因为很多是个人理解&#xff0c;大哥们主打一个7分信&#xff0c;2分思考&#xff0c;1分怀疑哈。 主要看的源码是An…

pytorch-20_1 LSTM在股价数据集上的预测实战

LSTM在股价数据集上的预测实战 使用完整的JPX赛题数据&#xff0c;并向大家提供完整的lstm流程。 导包 import numpy as np #数据处理 import pandas as pd #数据处理 import matplotlib as mlp import matplotlib.pyplot as plt #绘图 from sklearn.preprocessing import M…

人类交互4 感觉输入和运动输出

人类感觉系统概述 人类感觉系统是由多个感觉器官和神经系统组成&#xff0c;负责感知外部世界的各种刺激和信息。人类感觉系统包括以下几个主要部分&#xff1a; 视觉系统&#xff1a;视觉系统由眼睛、视神经和大脑视觉皮层组成&#xff0c;负责感知光线、颜色和形状&#xff…

datasheet芯片数据手册—新手入门学习(二)【8-18】

参考芯片手册已经上传&#xff0c;可自行下载 因为芯片参考手册内容比较多&#xff0c;故再一次介绍本文内容主要讲解章节。 目录 8、内容介绍 命令真值表 9、Command Definitions 10、READ Operations &#xff08;1&#xff09;页面读取操作 &#xff08;2&#xff…

YTM32的flash应用答疑-详解写保护功能

YTM32的flash应用答疑-详解写保护功能 文章目录 YTM32的flash应用答疑-详解写保护功能IntroductionPrincipleOperation & DemonstrationDemo #1 验证基本的写保护功能Demo #2 编程CUS_NVR设定EFM_ADDR_PROT初值Demo #3 启用写保护后试试块擦除操作 Conclusion Introduction…

报名倒计时两周|2024 OpenTiny 开源之夏项目直播解读回顾

5月16日&#xff0c;OpenTiny 开源社区成功举办了以《OpenTiny 开源之夏项目解读直播》为主题的直播活动。此次直播中&#xff0c;华为云的高级前端工程师曾令卡、华为云的高级前端工程师伍其和与10位开源之夏技术专家携手组成项目导师团&#xff0c;面向广大开发者一同深入探讨…

Java类和对象(五)—— 抽象类、接口、Object类和内部类

抽象类 在继承体系下&#xff0c;父类有些方法可能是要被重写的&#xff0c;如果我们事先就知道某些方法需要重写的话&#xff0c;我们可以不用在父类里面具体实现这个方法&#xff0c;这时候我们会用到抽象方法&#xff0c;这时候我们会用到关键字abstract关键字来修饰 publ…

BatBot智慧能源管理平台,更加有效地管理能源

随着能源消耗的不断增加&#xff0c;能源管理已成为全球面临的重要问题。BatBot智慧能源管理作为一种的能源管理技术&#xff0c;促进企业在用能效率及管理有着巨大的提升。 BatBot智慧能源管理是一种基于人工智能技术的能源管理系统&#xff0c;通过智能分析和优化能源使用&…

【JAVA |再谈接口、Object、内部类】Object类中子类重写,Cloneable 接口、比较器、内部类

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; &#x1f388;丠丠64-CSDN博客&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起…

Internet动态路由选择—RIP与OSPF

刚做完网络层动态路由选择的实验&#xff0c;写下此篇记录实验过程&#xff0c;巩固学习成果。 参考书目&#xff1a;《计算机网络》北京理工大学出版社-刘阳老师编 路由选择可分为两种策略&#xff1a; - 静态路由选择策略 - 动态路由选择策略 静态路由即管理员手动配置路由…

Java 商品入库系统 案例

测试类 package 练习.商品入库系统;import java.util.ArrayList; import java.util.Scanner; public class Test {public static final int Enrool 1;public static final int Search 2;public static final int Delect 3;public static final int Exit 4;public static…

在docker上部署postgresSQL主从

文章目录 一、主从规划二、创建PostgresSQL的Docker镜像三、主库部署1、建立pgsql主库的data地址2、启动docker镜像3、docker内操作4、修改配置文件 四、部署从数据库1、建立psql备库的data地址2、启动docker镜像3、备库从主库同步4、检查是否同步 五、测试主从数据库 一、主从…

【深度强化学习】关于同一设备上cuda和gpu计算结果不一致问题

文章目录 问题描述关于seed: 跟原文一致补充:万能seed 问题结论cpu和gpu差异来源分析浮点数精度的差异补充报错&#xff1a;Expected all tensors to be on the same device&#xff01;常见运算上的差异累加运算的差异exp运算的差异matmul运算的差异 forward上的差异&#xff…