在一行输入两个整数
![]()
。
接下来一行输入一个只含小写字母的字符串
,长度为
。
再接下来
行,每行输入两个整数
和两个字符
,用空格分隔,其中
,
为小写字母。
输出一个只含小写字母的字符串,表示执行完所有操作后的最终字符串。
5 3 wxhak 3 3 h x 1 5 x a 1 3 w g
gaaak
初始字符串为 `wxhak`;
第 1 次操作将位置 3 上的 `h` 替换为 `x`,得到 `wxxak`;
第 2 次操作将位置 1 至 5 的 `x` 替换为 `a`,得到 `waaak`;
第 3 次操作将位置 1 至 3 的 `w` 替换为 `g`,得到 `gaaak`。
#include<stdio.h>
#include <string.h>
int main()
{
int n = 0;
int m = 0;
char ch[100];
int l = 0;
int r = 0;
char c1 = 0;
char c2 = 0;
scanf("%d %d\n",&n,&m);
scanf("%s",ch);
int i = 0;
int j = 0;
for(i=0;i<m;i++)
{
scanf("%d %d %c %c\n",&l,&r,&c1,&c2);
for(j=l-1;j<=r-1;j++)
{
if(ch[j]==c1)
{
ch[j]=c2;
}
}
}
int k = 0;
for(k=0;k<n;k++)
{
printf("%c",ch[k]);
}
return 0;
} #include <stdio.h>
int main() {
int chang, ci,zi1,zi2;char zifu[200]={},th1,th2;
//获取长度和字符串
scanf("%d%d",&chang,&ci);
getchar();
scanf("%s",zifu);
//获取字符范围与需交换字符值
for (int y=0; y<ci; y++) {
scanf("%d%d %c %c",&zi1,&zi2,&th1,&th2);
for (int x=zi1; x<=zi2; x++) {
if (zifu[x-1]==th1) {
zifu[x-1]=th2;
}
}
}
//输出操作玩的字符串
printf("%s",zifu);
return 0;
} #include <stdio.h>
#include <string.h>
int main() {
int n = 0;
int m = 0;
scanf("%d %d", &n, &m);
char str[100];
// for(int i = 0; i<n; ++i)
// {
// scanf(" %c", &str[i]);
// }
getchar();
gets(str);
for(int i = 0; i<m; ++i)
{
int p, q;
char c1, c2;
scanf("%d %d %c %c", &p, &q, &c1, &c2);
for(int j = p; j<=q; ++j)
{
if(str[j-1] == c1)
{
str[j-1] = c2;
}
}
}
// for(int i = 0; i<n; ++i)
// {
// printf("%c", str[i]);
// }
puts(str);
return 0;
}
这边注意那个输入有问题,前面有个回车键
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n , m, r, l;
char c1, c2;
int i = 0;
char* p = NULL;
scanf("%d%d", &n, &m);
p = (char*)malloc(sizeof(char) * (n + 1));
if(!p)
{
perror("malloc fail!");
return 1;
}
scanf("%s", p);
//进行m次后续操作
for(i = 0; i < m; i++)
{
scanf("%d%d %c %c", &r, &l, &c1, &c2);
//查找r到l中的c1
while(r <= l)
{
//找到了,进行交换
if(*(p + r - 1) == c1)
{
*(p + r - 1) = c2;
}
r++;
}
}
printf("%s\n", p);
free(p);
p = NULL;
return 0;
} #include <stdio.h>
int main() {
int n, m;
scanf("%d %d", &n, &m);
char arr[n+1];
for(int i=1; i<=n; i++){
scanf(" %c", &arr[i]);
}
for(int i=0; i<m; i++){
int p, q;
char a, b;
scanf("%d %d %c %c", &p, &q, &a, &b);
for(int j=p; j<=q; j++){
if(arr[j] == a){
arr[j] = b;
}
}
}
for(int i=1; i<=n; i++){
printf("%c", arr[i]);
}
return 0;
} #include <stdio.h>
int main()
{
//n决定字符串长度,m决定替换次数
int n, m;
//字符串
char s[100];
//判断范围
int l,r;
//当l到r的范围内有满足c1的则替换成c2
char c1, c2;
//输入字符串长度,替换次数
scanf("%d %d",&n,&m);
getchar();
//获取字符串内容
for(int i = 0;i<n;i++)
{
scanf("%c",&s[i]);
}
//替换次数
for(int j=0;j<m;j++)
{
//获取范围
scanf("%d %d",&l,&r);
//获取c1
getchar();
scanf("%c",&c1);
//获取c2
getchar();
scanf("%c",&c2);
getchar();
//对l到r范围内等于c1的替换成c2
for(int i = l-1;i<r;i++)
{
if(s[i]==c1)
{
s[i]=c2;
}
}
}
//打印
for(int i=0;i<n;i++)
{
printf("%c",s[i]);
}
return 0;
} #include <stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);
getchar();//注意要把第一个输入的回车吃掉,不然后面没法运行
char arr[100];
gets(arr);
int i,l,r;
char c1,c2;
for(i=0;i<m;i++)//趟数
{
scanf("%d %d %c %c",&l,&r,&c1,&c2);
int j;
for(j=l-1;j<r;j++)//识别并进行赋值
{
if(arr[j]==c1)
{
arr[j] = c2;
}
}
}
for(i=0;i<n;i++)//循环打印
{
printf("%c",arr[i]);
}
return 0;
} #include<stdio.h>
int main() {
int n, m, l, r;
scanf("%d %d", &n, &m);
char str[100] = {0}, c1, c2;
scanf("%s", str);
while (m--) {
scanf("%d %d %c %c", &l, &r, &c1, &c2);
for (int j = l - 1; j <= r - 1; j++)
if (str[j] == c1)
str[j] = c2;
}
printf("%s\n", str);
return 0;
} #include <stdio.h>
int main(){
int n, count, l, r;
char a, b, arr[100];;
scanf("%d %d", &n, &count);
scanf("%s", arr);
while(count--){
scanf("%d %d %c %c", &l, &r, &a, &b);
for(int i = l-1; i <= r-1; i++){
if(arr[i] == a)
arr[i] = b;
}
}
printf("%s", arr);
return 0;
} #include<stdio.h>
int main()
{
int n, m, i, j, l, r;
char c1, c2;
scanf("%d%d", &n, &m);
getchar();
char str[100] = { 0 };
for (i = 0; i < n; i++)
{
scanf("%c", &str[i]);
}
getchar();
for (j = 0; j < m; j++)
{
scanf("%d%d", &l, &r);
getchar();
scanf("%c", &c1);
getchar();
scanf("%c", &c2);
for (i = l - 1; i <= r - 1; i++)
{
if (str[i] == c1)
str[i] = c2;
}
}
for (i = 0; i < n; i++)
{
printf("%c", str[i]);
}
return 0;
} #include<stdio.h>
#include<stdlib.h>
int main()
{
int n=0,m=0;
scanf("%d %d",&n,&m);
char arr[n+1];
scanf("%s",arr);
int l=0,r=0;
char c1=' ',c2=' ';
while(scanf("%d %d %c %c",&l,&r,&c1,&c2)!=EOF)
{
for(int i=l-1;i<r;i++)
{
if(arr[i]==c1)
arr[i]=c2;
}
}
printf("%s",arr);
return 0;
}