救救孩子吧,改裂开了。
查看原帖
救救孩子吧,改裂开了。
72921
jor蛋楼主2021/9/6 04:25

凌晨改了很久,几乎每个样例都下载下来照着改了,最后一个点了,改掉之后发现前面的点又错了,破防了。 代码是差一个点的。

#include<stdio.h>
#include<string.h>
#include<ctype.h>
char js(char q[]){
	int t;
	for(t=0;t<strlen(q);t++)
		q[t]=' ';
}
struct stu{
	int number,a2,b2,a3;
	char str1[101],str3[101],str4[101];
};
int main(){
	int pan,ll,n,i,j,q,p,mm,f,cd,kkk;
	char s[105],c[105],b[105];
	struct stu m[105];
	js(c);
	scanf("%d%s",&n,s);
	for(i=1;i<=n;i++){
		scanf("%d",&m[i].number);
		if(m[i].number==1){
			scanf("%s",m[i].str1);
		}
		if(m[i].number==2){
			scanf("%d%d",&m[i].a2,&m[i].b2);
		}
		if(m[i].number==3){
			scanf("%d%s",&m[i].a3,m[i].str3);
		}
		if(m[i].number==4){
			scanf("%s",m[i].str4);
		}
	}
	for(i=1;i<=n;i++){
		if(m[i].number==1){
			strncat(s,m[i].str1,strlen(m[i].str1)+1);
			printf("%s\n",s);
		}
		if(m[i].number==2){
			ll=0;
			js(b);
			for(j=m[i].a2;j<m[i].a2+m[i].b2;j++){
			//	printf("%c",s[j]);
				b[ll++]=s[j];
			}
			for(j=0;j<strlen(s);j++)
				s[j]=' ';
			for(j=0;j<ll;j++){
				s[j]=b[j];
			//	printf("%c",s[j]);
			}
			//printf("\n");	
			printf("%s\n",s);
		}
		if(m[i].number==3){
			mm=0;
			js(b);
			for(j=m[i].a3;j<strlen(s);j++)
			{
				b[mm++]=s[j];
				s[j]=' ';
			}
			mm=0;
			for(j=m[i].a3;j<m[i].a3+strlen(m[i].str3);j++)
				s[j]=m[i].str3[mm++];
			mm=0;
			for(j=m[i].a3+strlen(m[i].str3);j<strlen(s)+strlen(m[i].str3);j++)
				s[j]=b[mm++];
			for(j=0;j<strlen(s);j++)
				printf("%c",s[j]);
			printf("\n");
		}
		if(m[i].number==4){
			pan=-1;
			mm=0;
			f=0;
			for(j=0;j<strlen(s);j++){
				mm=0;
				if(s[j]==m[i].str4[mm]){
				//	printf("afsdfs\n");
					mm=0;
					while(s[j+mm]==m[i].str4[mm]){
						if(mm==strlen(m[i].str4)-1){
							pan=j;
							f=1;
						}
							
						mm++;
					}
				}
				if(f==1)
					break;
			}
			printf("%d\n",pan);
		}
	}
}

求大佬帮忙看看,先睡了。

2021/9/6 04:25
加载中...