第七个测试点没过,请教一下?
查看原帖
第七个测试点没过,请教一下?
447927
lyx0楼主2021/8/29 11:41
#include <stdio.h>
#include <string.h>

int main() {
	int p1, p2, p3;
	scanf("%d%d%d\n", &p1, &p2, &p3);
	char data[101] = { 0 };
	scanf("%s", data);
	int len = strlen(data);
	for (int i = 0; i < len; ++i) {
		if (data[i] != '-' || data[i - 1] >= data[i + 1] ||
			(data[i - 1] <= '9' && data[i + 1] >= 'A') ||
			(data[i - 1] <= 'Z' && data[i + 1] >= 'a') ||
			i == 0 || i == len - 1) {
			printf("%c", data[i]); 
			continue;
		}
		if (p3 == 1) {
			for (char c = data[i - 1] + 1; c < data[i + 1]; ++c) {
				for (int i = 0; i < p2; ++i) {
					if (p1 == 1 && c >= '0' && c <= '9') printf("%c", c);
					else if(p1 == 1 && c >= 'a' && c <= 'z') printf("%c", c);
					else if(p1 == 1 && c >= 'A' && c <= 'Z') printf("%c", c + 32);
					else if (p1 == 2 && c >= '0' && c <= '9') printf("%c", c);
					else if (p1 == 2 && c >= 'a' && c <= 'z') printf("%c", c - 32);
					else if (p1 == 2 && c >= 'A' && c <= 'Z') printf("%c", c);
					else printf("*");
				}
			}
		}
		else {
			for (char c = data[i + 1] - 1; c > data[i - 1]; --c) {
				for (int i = 0; i < p2; ++i) {
					if (p1 == 1 && c >= '0' && c <= '9') printf("%c", c);
					else if (p1 == 1 && c >= 'a' && c <= 'z') printf("%c", c);
					else if (p1 == 1 && c >= 'A' && c <= 'Z') printf("%c", c + 32);
					if (p1 == 2 && c >= '0' && c <= '9') printf("%c", c);
					else if (p1 == 2 && c >= 'a' && c <= 'z') printf("%c", c - 32);
					else if (p1 == 2 && c >= 'A' && c <= 'Z') printf("%c", c);
					else printf("*");
				}
			}
		}
	}

	return 0;
}
2021/8/29 11:41
加载中...