C语言#1#2#3测试点WA,求助
查看原帖
C语言#1#2#3测试点WA,求助
830231
CNSnowCat楼主2023/11/24 18:42

似乎和\r\n有关,但实在不会处理这种情况 代码如下

#include <stdio.h>
#include <string.h>

int main(){
	char str[10000], con[100];
	char *p;
	int n, num0, num1, num2;
	int i, j;
	scanf("%d\n", &n);
	gets(str);
	for(i=0;i<n;i++){
		scanf("%d ", &num0);
		switch(num0){
			case 1:
				scanf("%s", con);
				strcat(str, con);
				printf("%s\n", str);
			break;
			case 2:
				scanf("%d%d", &num1, &num2);
				for(j=0;j<num2;j++){
					str[j] = str[j+num1];
				}
				for(j=strlen(str);j>=num2;j--){
					str[j] = '\0';
				}
				printf("%s\n", str);
			break;
			case 3:
				scanf("%d ", &num1);
				scanf("%s", con);
				for(j=strlen(str);j>=num1;j--){
					str[j+strlen(con)] = str[j];
				}
				for(j=num1;j<strlen(con)+num1;j++){
					str[j] = con[j-num1];
				}
				printf("%s\n", str);
			break;
			case 4:
				scanf("%s", con);
				p = strstr(str, con);
				if(p == NULL){
					num1 = -1;
				}
				else{
					num1 = p - str;
				}
				printf("%d\n", num1);
			break;
		}
	}
	return 0;
}
2023/11/24 18:42
加载中...