输出格式哪里有问题?
查看原帖
输出格式哪里有问题?
305770
claran_ran_away楼主2022/10/4 20:42
#include <bits/stdc++.h>
using namespace std;
char start[102],step1[102],step3[102],step4[102];
int s1,s2,t1;

void first(){
	printf("%s\n",strcat(start,step1)); 
}

void second(){
    char u[102];
    for(int i = s1,j = 0;i < s1+s2;i++,j++)
    	u[j] = start[i];
	for(int i = 0;i <= 102;i++)
		start[i] = u[i];
	printf("%s\n",start);
}

void third(){
	char e[102],er[102];
	for(int i = 0;i < t1;i++)
		e[i] = start[i];
	for(int i = t1,j = 0;i < 102;i++,j++)
		er[j] = start[i];
	strcat(e,step3);
	printf("%s\n",strcat(e,er));
	for(int i = 0;i <= 102;i++)
		start[i] = 0;
	strcat(start,e);
}

void forth(){
	int ans = 0;
	for(int i = 0;i < 102;i++)
		if(start[i] == step4[0])
			for(int x = i,j = 0;x < i + strlen(step4);x++,j++){ 
				if(start[x] != step4[j])
					break;
				if(j == strlen(step4) - 1) ans++;
			}
	if(ans == 0) printf("-1\n");
	else printf("%d\n",ans);
}

int main(){
	int a,b;
	scanf("%d%s",&a,start);
	for(int i = 1;i <= a;i++){
		cin >> b;
		if(b == 1){
			scanf("%s",step1);
			first();
		}else if(b == 2){
			scanf("%d%d",&s1,&s2);
			second(); 
		}else if(b == 3){
			scanf("%d%s",&t1,step3);
			third();
		}else if(b == 4){
			scanf("%s",step4);
			forth();
		}
	} 
	return 0;
}
2022/10/4 20:42
加载中...