文章

47

粉丝

109

获赞

8

访问

29.3k

头像
删除字符串2 题解:
P1027 贵州大学2019机试
发布于2024年3月15日 16:41
阅读数 886

第一种

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
	char s[105];
	char s_lower[105];//用来存放把输入的字符串全部变为小写
	gets(s);
	int len = strlen(s);//输入字符串的长度
	char d[3] = {'g','z','u'};
	int f[105] = {0};//用来记录字符串,删除为1,不删除0,注意:如果不初始化则不为0
	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 (s_lower[i + j] != d[j]) {//如果在这3个字母中有一个不匹配,则不是要删除的字符串
				flag = 1;
			}
		}
		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] == 0) {
			printf("%c", s[i]);
		}
	}

	return 0;
}

第二种

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
	char s[105] = {0};
	char s_lower[105] = {0};...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发