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

北京哪个公司做网站威海seo优化公司

北京哪个公司做网站,威海seo优化公司,中石化第四建设公司 网站,濮阳网站建设在哪里【问题描述】 编写一个函数void str_bin(char str1[ ], char str2[ ]), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序),将str2合并到字符串str1中,要求合并后的字符串仍是有序的,允许字符重…

【问题描述】
编写一个函数void  str_bin(char str1[ ], char str2[ ]), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序),将str2合并到字符串str1中,要求合并后的字符串仍是有序的,允许字符重复。在main函数中测试该函数:从键盘输入两个有序字符串,然后调用该函数,最后输出合并后的结果。
【输入形式】
分行从键盘输入两个有序字符串(不超过100个字符)
【输出形式】
输出合并后的有序字符串
【输入样例】

aceg
bdfh

【输出样例】

abcdefgh

【样例说明】
输入两个有序字符串aceg和bdfh,输出合并后的有序字符串abcdefgh

 

#include <iostream>
#include <cstring>
using namespace std;//函数声明:str_bin函数用于将两个有序字符串进行合并
//str1和str2是两个输入的字符数组,代表要合并的两个有序字符串
//这里要求字符串中的字符按ASCII码从小到大排序
//合并后的字符串将存放在str1中,并且仍然保持有序,允许字符重复
void str_bin(char str1[], char str2[]);int main()
{//定义字符数组str1,用于存储输入的第一个字符串//数组大小为100,可容纳最多99个字符(因为还需要一个位置存放字符串结束符'\0')char str1[100];//定义字符数组str2,用于存储输入的第二个字符串//数组大小同样为100,可容纳最多99个字符及字符串结束符'\0'char str2[100];//使用cin.getline函数从键盘读取一行输入,并将其存储到str1数组中//该函数会读取输入流中的字符,直到遇到换行符'\n'为止,但换行符不会被存储到str1数组中//最多读取100个字符(包括空格等所有字符),如果输入的字符数超过100,超出部分将被丢弃cin.getline(str1, 100);//再次使用cin.getline函数从键盘读取另一行输入,并将其存储到str2数组中//同样最多读取100个字符,读取到换行符为止,换行符不存储,超出部分丢弃cin.getline(str2, 100);//调用str_bin函数,将已经读取到的两个字符串str1和str2作为参数传递进去//在str_bin函数内部,将会把str2合并到str1中,使str1成为合并后的有序字符串str_bin(str1, str2);//使用cout输出合并后的str1字符串//输出完毕后,再输出一个换行符'\n',使输出结果在控制台显示更加清晰美观cout << str1 << "\n";return 0;
}//str_bin函数的具体实现部分
void str_bin(char str1[], char str2[])
{//计算str1字符串的长度,这里使用strlen函数来获取//strlen函数会从str1指向的起始位置开始,逐个字符计数,直到遇到字符串结束符'\0'为止//它返回的长度值是不包含字符串结束符'\0'的字符个数int len1 = strlen(str1);//同样使用strlen函数计算str2字符串的长度int len2 = strlen(str2);//初始化三个整型变量i、j、k,它们将作为后续循环操作中对str1、str2和临时数组temp的索引//i用于指向str1中的当前字符位置//j用于指向str2中的当前字符位置//k用于指向临时数组temp中的当前存储位置int i = 0, j = 0, k = 0;//定义一个临时字符数组temp,用于暂存合并过程中的字符//数组大小设置为200,是考虑到合并后的字符串长度可能会比str1和str2单独的长度之和还要长//但在实际情况中,如果对输入字符串长度有严格限制,也可以根据具体情况设置更合适的大小char temp[200];//以下是一个循环结构,用于比较str1和str2中的字符,并将较小的字符依次放入临时数组temp中//只要str1和str2中都还有未处理的字符(即i < len1 且 j < len2),循环就会继续执行while (i < len1 && j < len2){//如果str1中当前位置(索引为i)的字符的ASCII码值小于str2中当前位置(索引为j)的字符的ASCII码值if (str1[i] < str2[j])//将str1中当前位置的字符放入临时数组temp的当前位置(索引为k)temp[k++] = str1[i++];else//否则,如果str2中当前位置字符的ASCII码值小于或等于str1中当前位置字符的ASCII码值//将str2中当前位置的字符放入临时数组temp的当前位置(索引为k)temp[k++] = str2[j++];}//当str1中还有剩余字符(即i < len1),而str2中的字符已经全部处理完毕(j >= len2)时//以下循环会将str1中剩余的字符依次放入临时数组temp中while (i < len1)temp[k++] = str1[i++];//当str2中还有剩余字符(即j < len2),而str1中的字符已经全部处理完毕(i >= len1)时//以下循环会将str2中剩余的字符依次放入临时数组temp中while (j < len2)temp[k++] = str2[j++];//初始化一个整型变量m,用于将临时数组temp中的合并后的字符串逐个字符地复制回str1数组中int m = 0;//以下循环会将临时数组temp中的字符,按照顺序逐个复制到str1数组中//从索引为0的位置开始,直到将临时数组temp中所有合并后的字符都复制完毕while (m < k){str1[m] = temp[m];m++;}//在将临时数组temp中的字符全部复制到str1数组后,需要在str1数组的末尾添加字符串结束符'\0'//这样才能确保str1是一个完整的、符合C++字符串格式要求的字符串str1[m] = '\0';
}

http://www.15wanjia.com/news/22111.html

相关文章:

  • 网站中英文要怎么做2023年重大时政热点
  • 临沂网站建设培训学校优势的seo网站优化排名
  • 成人家装设计培训学校长沙网站包年优化
  • 做电源的网站seo外链查询工具
  • 最新钓鱼网站源码球队排名世界
  • 九江网站建设手机优化大师下载2022
  • 眼镜东莞网站建设seoul是啥意思
  • 网页在线聊天客服系统推广优化方案
  • 林业网站建设有哪些廊坊网站推广公司
  • 网站建设方案书纯文字引擎搜索器
  • 苏州网站设计哪家公司好站长统计
  • 做网站数据库有哪些电商运营方案计划书
  • 360云盘做服务器建设网站保定seo网站推广
  • 专业团队为您服务的句子深圳seo排名
  • php自建网站国内军事新闻最新消息
  • 免费服务器建站郑州网站推广优化
  • wordpress 年份seo推广软件费用
  • 石家庄最新封闭小区消息河北seo基础
  • 网站建设方为客户提供使用说明书web网页制作成品
  • 网站建设服务seo职位描述
  • 南宁网站优化软文范例100例
  • 创新的广州做网站2023年4 5月份疫情结束吗
  • 手机可以做3d动漫视频网站有哪些360网站收录提交
  • 百度推广官网电话seo搜索引擎优化课程总结
  • 将wordpress网站变成app下载百度app最新版并安装
  • 外包加工网会员网站关键词优化
  • 一个动态网站多少钱常见的网站推广方式
  • b2b 网站特点怎么做自己的网站
  • 学校登陆网站制作自建站seo如何做
  • 安阳网站建设优化中超最新积分榜