求救!!样例和第一个测试点都一样但全WA(悲)
查看原帖
求救!!样例和第一个测试点都一样但全WA(悲)
1119187
Lin_XH楼主2023/11/27 17:03
#include <stdio.h>
#include <string.h>
int main()
{
	int q = 0;
	scanf("%d", &q);
	char e = getchar();
	int o = 0;
	char a[100] = { 0 };
	char b[100] = { 0 };
	char c[100] = { 0 };
	char d[100] = { 0 };
	char g[100] = { 0 };
	char h[100] = { 0 };
	int i = 0;
	int j = 0;
	int x = 0;
	int y = 0;
	int z = 0;
	gets(a);
	while (q--)
	{
		scanf("%d", &o);
		char f = getchar();
		if (o == 1)
		{
			scanf("%s", b);
			strcat(a, b);
			int sz = strlen(a);
			for (i = 0; i < sz; i++)
			{
				printf("%c", a[i]);
			}
			printf("\n");
		}
		else if (o == 2)
		{
			scanf("%d %d", &x, &y);
			for (i = 0; i < y; i++)
			{
				c[i] = a[x + i];
			}
			for (i = 0; i < y; i++)
			{
				printf("%c", c[i]);
			}
			printf("\n");
		}
		else if (o == 3)
		{
			scanf("%d", &z);
			getchar();
			scanf("%s", g);
			int sz1 = strlen(c);
			for (i = z; i < sz1; i++)
			{
				d[i - z] = c[i];
				c[i] = '\0';
			}
			strcat(g, d);
			strcat(c, g);
			int sz2 = strlen(c);
			for (i = 0; i < sz2; i++)
			{
				printf("%c", c[i]);
			}
			printf("\n");
		}
		else if (o == 4)
		{
			scanf("%s", h);
			int sz3 = strlen(c);
			int sz4 = strlen(h);
			int count = 0;
			int flag = 1;
			for (i = 0; i < sz3; i++)
			{
				if (c[i] == h[0])
				{
					for (j = 0; j < sz4; j++)
					{
						if (c[i + j] != h[j])
						{
							flag = 0;
						}
					}
					if (flag)
					{
						count++;
					}
				}
			}
			if (count)
			{
				printf("%d\n", count);
			}
			else
			{
				printf("-1\n");
			}
		}
	}
	return 0;
}
2023/11/27 17:03
加载中...