宁波cms模板建站公司网站开发建设费用

张小明 2026/1/19 20:38:08
宁波cms模板建站,公司网站开发建设费用,中华室内设计官网,用自己电脑做服务器 网站吗如果对胡凡算法内容有兴趣的#xff0c;可以看看入门篇的前两篇博客#xff1a;胡凡算法入门篇精选题解#xff08;一#xff09;#xff1a;从单调序列到图形输出的综合实践、胡凡算法入门篇精选题解#xff08;二#xff09;#xff1a;日期与进制转换的核心技巧精讲…如果对胡凡算法内容有兴趣的可以看看入门篇的前两篇博客胡凡算法入门篇精选题解一从单调序列到图形输出的综合实践、胡凡算法入门篇精选题解二日期与进制转换的核心技巧精讲1.回文字符串核心思路从头和尾开始遍历比较各个元素1.1 何为回文字符串正着读和反着读都一样的字符串就是回文字符串abcba - 回文level - 回文hello -不是回文1.2 思路分析判断一个字符串是否为回文最常用的方法是对称比较法首先获取字符串长度比较对称位置的字符第一个字符 vs 最后一个字符第二个字符 vs 倒数第二个字符以此类推发现任何不相等的情况立即返回false所有对称字符都相等返回true1.3 代码实现#includestdio.h#includestring.h//提供我strlen函数#includestdbool.h//提供bool类型// 判断是否回文boolisPalindrome(constchar*str){intlenstrlen(str);// 获取字符串长度//len / 2 - 只需比较到字符串中间位置for(inti0;ilen/2;i){// 遍历前半段if(str[i]!str[len-i-1]){// 与对称位置字符不同returnfalse;// 则不是回文}}returntrue;// 前半段与后半段一致时为回文}intmain(){charstr[1000];scanf(%s,str);// 读取输入字符串printf(isPalindrome(str)?YES:NO);// 输出判断结果return0;}当然也有很多其他的方法例如双指针法boolisPalindrome2(constchar*str){intleft0;intrightstrlen(str)-1;while(leftright){if(str[left]!str[right]){returnfalse;}left;right--;}returntrue;}1.4 可能的错误和注意事项①忘记处理字符串结束符// 错误示例charstr[50];scanf(%s,str);// 如果输入长度50会溢出//正确做法charstr[51];// 为结束符\0预留空间②整数除法// 对于长度为5的字符串len/2 2// 比较索引0↔4, 1↔3中间字符不需要比较③使用const保护数据boolisPalindrome(constchar*str)// const防止意外修改2. 单词倒序2.1何为单词倒序II这里的单词倒序是每个单词内部逆序后输出而保持单词之间的顺序不变我们要注意单词倒序和单词内部逆序的概念。单词倒序单词的顺序反转但单词内部顺序不变单词内部逆序每个单词的字母顺序反转但单词顺序不变输入:Hello,World输出1WorldHello-单词倒序 输出:olleHdlroW-单词内部逆序2.2思路分析首先读取输入 - 单词有空格需要读取多个单词char a[n][m])其次分割单词 - 讲输入的字符串按空格分割成独立的单词又或者之间以字符串的方式进行读入最后逆序处1.每个单词内部进行字符逆序然后输出2.不用特定逆序直接倒着打印2.3 代码实现①逆序处理#includestdio.h#includestring.h#defineMAX_WORDS100// 最大单词数#defineMAX_WORD_LEN11// 最大单词长度10字符\0intmain(){charwords[MAX_WORDS][MAX_WORD_LEN];// 存储单词intword_count0;// 单词计数charword[MAX_WORD_LEN];// 临时存储当前单词charch;intidx0;// 当前单词字符索引printf(请输入英文单词用空格分隔\n);// 方法1使用scanf按空格自动分割最简单while(scanf(%10s,word)!EOF){// %10s限制读取10个字符if(word_countMAX_WORDS){// 逆序当前单词intlenstrlen(word);for(inti0;ilen/2;i){chartempword[i];word[i]word[len-1-i];word[len-1-i]temp;}strcpy(words[word_count],word);}}// 输出结果printf(处理结果\n);for(inti0;iword_count;i){printf(%s,words[i]);if(iword_count-1){printf( );}}printf(\n);return0;}②倒着打印#includestdio.h#includestring.h#defineMAXN500// 最大单词数量#defineMAXL11// 每个单词最大长度1charstr[MAXN][MAXL];// 存储输入单词的数组intnum0;// 实际读取的单词数量intmain(){while(scanf(%s,str[num])!EOF){// 读取一个单词直到文件结束num;// 单词计数加一}for(inti0;inum;i){// 顺序遍历每个单词intlen(int)strlen(str[i]);// 计算当前单词长度for(intjlen-1;j0;j--){// 从末尾开始逆序遍历字符printf(%c,str[i][j]);// 输出当前字符}if(inum-1){// 如果不是最后一个单词printf( );// 输出空格分隔}}2.4 可能的错误和注意事项①缓冲区溢出// 危险代码charword[11];scanf(%s,word);// 如果输入超过10字符会溢出// 正确代码scanf(%10s,word);// 限制读取长度②忘掉字符串结束符// 错误charword[11];for(inti0;i10;i){word[i]ai;// 没有\0不是有效字符串}// 正确word[10]\0;// 显式添加结束符③数组越界for(inti0;ilen;i){// 错误应该是 i len/2// ...}④输入限制题目说每个单词不超过10个字符但是要考虑’\0’,数组大小应该为11总长度不超过1000但是要考虑最坏的情况100个10字符单词⑤边界处理// 处理只有一个单词的情况if(word_count1){// 不需要控制空格}// 处理空输入理论上不存在if(word_count0){printf(\n);// 只输出换行}3. 求字符串的公共前缀3.1 问题理解公共前缀是指所有字符串都有的、从第一个字符开始的相同部分。例如输入[“acting”,“actfps”,“actareg”]公共前缀”act因为这三个字符都以“act”开头3.2 思路分析首先找到最短的字符串长度因为公共前缀不可能超过最短字符串的长度逐字符比较所有字符串比较所有字符串的第一个字符比较所有字符串的第二个字符以此类推…发现不一致时停止输出一致的部分3.3 代码实现#includestdio.h#includestring.h#includestdbool.h#defineMAXN20// 最大字符串数量#defineMAXL51// 最大字符串长度1包含结束符charstr[MAXN][MAXL];// 存储所有字符串的二维数组intmain(){intn,minLMAXL;// n: 字符串数量minL: 最短字符串长度// 1. 读取字符串数量scanf(%d,n);getchar();// 消耗输入缓冲区中的换行符// 2. 读取所有字符串并找到最短长度for(inti0;in;i){fgets(str[i],MAXL,stdin);// 读取字符串str[i][strcspn(str[i],\n)]\0;// 去除末尾换行符intlenstrlen(str[i]);// 计算当前字符串长度if(lenminL){minLlen;// 更新最短长度}}// 3. 逐字符比较所有字符串for(intj0;jminL;j){// j: 字符位置索引bool isSametrue;// 标记当前位置字符是否相同// 比较所有字符串在第j个位置的字符for(inti1;in;i){// i: 字符串索引从1开始if(str[i][j]!str[0][j]){// 与第一个字符串比较isSamefalse;// 发现不同字符break;// 跳出内层循环}}if(isSame){putchar(str[0][j]);// 所有字符串该位置字符相同输出}else{break;// 发现不同字符停止比较}}putchar(\n);// 输出换行符return0;}3.4 可能的错误和注意事项①忘记处理换行符// 错误scanf(%s,str[i]);// 不能处理带空格的输入// 正确fgets(str[i],MAXL,stdin);str[i][strcspn(str[i],\n)]\0;如果你用了scanf遇到字符串时记得加getchar()读取换行符如果采用fgets他会默认遇到\n结束但是会直接在\n加\0(“hello”charbuffer[100];fgets(buffer,sizeof(buffer),stdin);//输入“hello” - hello\n\0str[i][strcspn(str[i],\n)]\0//strcspn(str1,str2) - 扫描str1中首次出现的str2中的任何字符返回在这个字符在str1的下标//这里的用途就是在str[i]中找到\n的位置//例如这个\n在上述位置是5 - 所以返回5②数组越界// 错误假设所有字符串长度相同for(intj0;jstrlen(str[0]);j)// 如果str[0]不是最短的...// 正确先找到最短长度intminLMAXL;for(inti0;in;i){intlenstrlen(str[i]);if(lenminL)minLlen;}4.连续相同字符统计4.1 问题理解统计字符串中连续出现的相同字符的个数并按顺序输出每个字符及其连续出现的次数。例如输入aaabbbcccaa输出 a3b3c3a24.2 核心算法思路双指针滑动窗口的思路首先外层循环遍历字符串的每个字符段其次内层循环统计当前字符连续出现的次数然后输出当前字符及其出现次数移动到下一个不同的字符段4.3 代码实现#includestdio.h#includestring.h#defineMAXL101charstr[MAXL];intmain(){// 读取输入字符串scanf(%s,str);intidx0;// 当前扫描位置下标intlenstrlen(str);// 字符串总长度// 从左到右遍历整个字符串while(idxlen){// 输出当前字符printf(%c ,str[idx]);intcnt1;// 统计本字符的出现次数初始为1// 只要下一个字符和当前字符相同就继续累加计数while(idxlenstr[idx]str[idx-1]){cnt;idx;}// 打印这一段连续字符的总次数printf(%d\n,cnt);}return0;}当然C这种表示也很容易看懂#includeiostream#includevector#includestringusing namespace std;intmain(){string str;cinstr;intlengthstr.size();for(inti0;ilength;i){intcount1;// 当前字符至少出现1次// 统计连续相同字符的数量for(intji1;jlength;j){if(str[i]str[j]){count;}else{break;}}printf(%c %d\n,str[i],count);// 跳过已经统计过的连续字符icount-1;}return0;}4.4 可能的错误和注意事项①空字符串// 根据题目描述输入是非空字符串// 但代码应该有一定的健壮性if(len0){return0;// 空字符串直接返回}②超长字符串// 题目限制长度不超过100// 但可以添加保护if(lenMAXL-1){printf(输入字符串过长\n);return1;}5.C语言合法变量名这里直接用字符串来做检查就可以了#includeiostream#includestringusing namespace std;intmain(){string str;cinstr;// 读取输入字符串bool resulttrue;// 合法性标志初始为 trueintlenstr.size();// 计算字符串长度// 判断首字符是否为字母或下划线if(!((str[0]Astr[0]Z)||(str[0]astr[0]z)||str[0]_)){resultfalse;// 首字符非法标记为 false}// 检查剩余字符是否均为字母、数字或下划线for(inti1;ilen;i){if(!((str[i]Astr[i]Z)||(str[i]astr[i]z)||(str[i]0str[i]9)||str[i]_)){resultfalse;// 出现非法字符标记为 falsebreak;// 提前退出循环}}cout(result?YES:NO);// 输出结果return0;}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

新做的网站怎样推广房屋中介的网站怎么建设

目录具体实现截图项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万字以上 同行可拿货,招校园代理 基于Thinkphp和Laravel旅游景点门票信息系统设计与实现-vue …

张小明 2026/1/17 20:08:35 网站建设

asp网站加速提供网站建设优势

[Windows] 图片批量转换ICO工具v1.0 链接:https://pan.xunlei.com/s/VOhA9w4tmIaplCx33eyMglkoA1?pwdc5zh# 支持多种格式的图片转换成ico图标,支持单张或多张图片进行批量处理。可以选择ico尺寸。 代码是根据我的需求,用AI制作的html文件&…

张小明 2026/1/17 20:08:36 网站建设

响应式网站广州网站建设智能网站建设软件有哪些

第一章:量子机器学习的 VSCode 参数调优在开发量子机器学习应用时,VSCode 作为主流集成开发环境,其配置直接影响编码效率与调试体验。合理调优参数不仅能提升代码补全准确率,还能优化对量子计算框架(如 Qiskit、Cirq&a…

张小明 2026/1/17 20:08:37 网站建设

个人网站建设的国外文献综述免费学习做网站

数据结构:布隆过滤器 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,由霍华德布隆在1970年提出,用于快速判断一个元素是否存在于一个集合中。它的核心特点是 存在误判的可能,但不存在漏判&a…

张小明 2026/1/17 20:08:38 网站建设

深圳做网站比较好的公司有哪些网站建设 艺麟盛世

第一章:Symfony 8 缓存机制优化概述Symfony 8 在性能层面进行了深度重构,其中缓存机制的优化成为提升应用响应速度与资源利用率的核心手段。通过引入更智能的缓存适配策略和默认配置强化,Symfony 8 显著减少了重复计算与I/O开销,尤…

张小明 2026/1/17 20:08:41 网站建设

企业网站建设 总结茶文化网站开发

HoloCubic伪全息显示站:零基础快速上手终极指南 【免费下载链接】HoloCubic 带网络功能的伪全息透明显示桌面站 项目地址: https://gitcode.com/gh_mirrors/ho/HoloCubic 想要打造一个科幻感十足的桌面显示站吗?HoloCubic项目正是为你量身定制的入…

张小明 2026/1/17 20:08:42 网站建设