BC148. 字符串操作
描述
输入描述
第一行两个数n,m输出描述
输出一行一个字符串示例1
输入:
5 3 wxhak 3 3 h x 1 5 x a 1 3 w g
输出:
gaaak
说明:
第一次修改后为wxxakC 解法, 执行用时: 2ms, 内存消耗: 272KB, 提交时间: 2022-03-15
#include<stdio.h> #include<string.h> int main() { int n,m; scanf("%d %d",&n,&m); getchar(); char a[n]; for(int t=0;t<n;t++) scanf("%c",&a[t]); for(int t=0;t<m;t++) { int i,j; char c1,c2; scanf("%d %d %c %c",&i,&j,&c1,&c2); for(int k=i-1;k<=j-1;k++) { if(a[k]==c1) a[k]=c2; } } for(int l=0;l<n;l++) printf("%c",a[l]); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 284KB, 提交时间: 2022-03-14
#include <stdio.h> int main() { int n,m; scanf("%d %d",&n,&m); getchar(); char str[100]={}; for(int i=0;i<n;i++) { scanf("%c",&str[i]); } while(m--) { int a,b; char c,d; scanf("%d %d %c %c",&a,&b,&c,&d); for(int i=a-1;i<=b-1;i++) { if(str[i]==c) str[i]=d; } } for(int i=0;i<n;i++) { printf("%c",str[i]); } }
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-08-03
#include <stdio.h> int main() { int n, m, l, r; char s[1000] = {0}, c1, c2; scanf("%d %d\n%s", &n, &m, &s); for (int i = 0; i < m; i++) { //根据m值进行循环 scanf("%d %d %c %c\n", &l, &r, &c1, &c2); for (int j = l; j <= r; j++) { //根据每次输入的l,r值进行循环 if (s[j - 1] == c1) s[j - 1] = c2; //根据c1,c2的值来进行修改 } } printf("%s", s); //输出最终结果 return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-04-07
#include<stdio.h> int main() { int m = 0, n = 0, l = 0, r = 0, i; char c1, c2; scanf("%d %d",&n,&m); char s[n]; scanf("%s", &s); for( i = 0; i < m; ++i ) { int j = 0; scanf("%d %d %c %c", &l, &r, &c1, &c2); for( j = l - 1; j < r; j++ ) { if( s[j] == c1 ) s[j] = c2; } } printf("%s",s); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-04-05
#include <stdio.h> int main(void) { int n, m; scanf("%d %d",&n,&m); char s[100]; scanf(" %s",s); int l, r; char c1, c2; while(scanf(" %d %d %c %c",&l,&r,&c1,&c2)!=EOF){ for(int i=l-1;i<=r-1;i++){ if(s[i]==c1) s[i]=c2; } } printf("%s\n",s); return 0; }