文章

47

粉丝

109

获赞

10

访问

31.8k

头像
删除字符串 题解:C
P1026 贵州大学2019机试
发布于2024年2月29日 17:31
阅读数 752

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

int main() {

	char s[105];
	char s_lower[105];//全是小写的
	int f[105];//标记需要删除的字符串
	gets(s);
	int len = strlen(s);
	char y[3] = {'g','z','u'};
	for (int i = 0; i < len; i++) {//将原本的可能出现的大写变为小写
		if (s[i] > 'A' && s[i] < 'Z') {
			s_lower[i] = s[i]+32;
		}
		else {
			s_lower[i] = s[i];
		}
	}
	for (int i = 0; i < len; i++) {
		int flag = 0;
		for (int j = 0; j < 3; j++) {
			if (y[j] != s_lower[i + j]) flag = 1;//一旦3个字母中出现不相同的,则证明该三个字母不是要找的
		}
		if (flag == 0) {
			for (int j = i; j < i + 3; j++)f[j] = 1;//将出现需要删除的字母标为1
		}
	}
	for (int i = 0; i < len; i++) {
		if (f[i] != 1) {
			printf("%c", s[i]);
		}
	}
	return 0;
}

自己的理解

#include<stdio.h>
#include<string.h>
int main() {
	char s[105];
	gets(s);
	char ss[105] = { 'g','z','u' };
	int len1 = strlen(s);//输入的字符串长度
	int len2 = strlen(ss);
	int f[105] = { 0 };//用来标记你要删除的字...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发