好久没有更新了,最近有点忙,今天抽点时间给大家水 写一篇关于替换字符串字符的文章
替换函数
string
类型的字符串可以用swap
函数来替换字符,例如:
冒泡排序
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,flag=0;
double ch[1005]={0.0}; //数组归零
cin>>n;
for(int i=1;i<=n;i++){
cin>>ch[i];
}
for(int i=1;i<=n;i++){
flag=0;
for(int j=1;j<=n-1;j++){
if(ch[j]>ch[j+1]){
flag=1;
swap(ch[j],ch[j+1]);
/*int temp=ch[j];
ch[j]=ch[j+1];
ch[j+1]=temp;*/
}
}
if(flag==0){
break;
}
}
for(int i=1;i<=n;i++){
cout<<ch[i]<<" ";
}
return 0;
}
(学习冒泡排序具体可以看:冒泡排序详解)
swap
函数的具体用法:替换字符串中的第n
项和第m
项
Example:
#include <bits/stdc++.h>
using namespace std;
int main ()
{
string ch="I Lvoe China.";
swap(ch[3],ch[4]); //利用索引替换
cout<<ch;
return 0;
}
更难的替换程序
swap
函数确实很简单,但是,那是人家已经编好的程序,我们自己能不能写一个替换程序呢?
当然可以
首先,我们得输入字符串,但是,我们并不知道用户要输入多少个字符,因此,用while
循环
#include <bits/stdc++.h>
using namespace std;
int main ()
{
char txt[500];int num=1; //txt存放文本,num是当前字符序号
char A,B; //A表示原字符,B表示要替换的字符
while((txt[num++]=getchar())!='\n');
//每输入一个数,都判断是不是换行符,是,停止输入;否,继续输入
//同时计数器加1
A=getchar(); //输入原字符
getchar(); //输入空格
B=getchar(); //输入要替换的字符
return 0;
}
接下来,循环查找字符,如果当前字符是A
,替换成B
(A与B均是变量);否则,原样输出。由于我们知道这个循环的次数,可以用for
循环
for(int i=1;i<=num;i++){
if(txt[i]==A){ //如果当前字符是A,替换成B
cout<<B;
}else{
cout<<txt[i]; //当前字符不是A,原样输出
}
}//cout<<endl;
完整代码如下:
#include <bits/stdc++.h>
using namespace std;
int main ()
{
char txt[500];int num=1; //txt存放文本,num是当前字符序号
char A,B; //A表示原字符,B表示要替换的字符
while((txt[num++]=getchar())!='\n');
//每输入一个数,都判断是不是换行符,是,停止输入;否,继续输入
//同时计数器加1
A=getchar(); //输入原字符
getchar(); //输入空格
B=getchar(); //输入要替换的字符
for(int i=1;i<=num;i++){
if(txt[i]==A){ //如果当前字符是A,替换成B
cout<<B;
}else{
cout<<txt[i]; //当前字符不是A,原样输出
}
}//cout<<endl;
return 0;
}
OK,这就是本期的全部内容了,如果你喜欢我的文章,记得点赞加关注哟,咱们下期再见!