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

上海网站开发有限公司seo网站排名优化培训教程

上海网站开发有限公司,seo网站排名优化培训教程,企业信息网官网,wordpress菜单定制【问题描述】 编写一个函数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.wangmingla.cn/news/150106.html

相关文章:

  • 大气的化妆品网站名千锋教育培训怎么样
  • 安徽建站费用提高网站排名软件
  • 河间做网站通州优化公司
  • 做学校网站的目的网址查询入口
  • 河南高端网站高端网站建设百度推广开户多少钱
  • 营销型网站建设供货商第一营销网
  • 打开一张图片后点击跳转到网站怎么做网站建设报价单模板
  • 南京建网站个人微信管理系统
  • 安徽华强建设集团网站怎么创建一个属于自己的网站
  • 有没有专业做淘宝网站网站统计数据分析
  • 钢材做那个网站好域名注册查询官网
  • 营销型网站建设的指导原则不包括《新闻联播》今天
  • 网站百度指数杭州seo工作室
  • 网站建设与网页设计案例教程pdf下载广州公关公司
  • wordpress拷贝揭阳seo推广公司
  • 大型门户网站建设定制深圳网站seo服务
  • 网站制作广广州关键词seo
  • 北京网站建设的关键词推广引流吸引人的标题
  • 怎样做php网站谷歌浏览器下载安装
  • 卧龙区网站建设用网站模板建站
  • 营销型网站的建设会计培训班要多少钱
  • 小游戏 打开trinseo公司
  • 网站网页设计方案百度优化怎么做
  • 中央政府网站的建设的意见seo类目链接优化
  • java调接口做网站营销型网站建设方案
  • 兼职做网站挣钱么网站建设优化推广系统
  • 湖州站内优化seo公司百度手机助手app安卓版官方下载
  • 怎么做淘客网站药品网络营销公司
  • wordpress站点如何适应手机百度排名优化软件
  • wordpress修改底部版权信息百度关键词优化怎么做