C语言删除一个字符串中的指定字符(字母区分大小写)

本文介绍如何在C语言中删除一个字符串中的指定字符(区分大小写),并按照ASCII码升序排列剩余字符。通过双层循环比较和冒泡排序实现,不使用指针。
摘要由CSDN通过智能技术生成

##问题描述
删除一个字符串中的指定字符(字母区分大小写)

输入
一个原始字符串,一个欲删除的字符集(该字符集元素不重复)

输出
删除指定字符后的字符串(按ASCII码序升序)。特别地,若删除后的字符串为空,输出null

样例1

输入

aacbggc12
gc2

输出
1aab

样例2

输入

abcgagc1222
abgc12

输出
null

##问题分析
在没学习指针和字符串之前,我们用什么方法解决?
我的想法是使用三个数组。
第一个数组ch用来读入原始字符串;
第二个数组del用来读入需删除字符的数组;
第三个数组output用来储存和输出结果。

注意,这里的三个数组都是char型的。

这里的关键步骤有两步:
1.如何从ch中删除del中的字符,并将其余字符存入output 中;
2.如何将output中的字符元素按ASCLL升序打印出来。

对于第一个问题,我们可以对ch和del两个数组进行一个双层循环比较它们的值。对于每一次比较,若两元素相同,则将变量c++.在内层循环中,每次循环结束后检测c是否为0,是则将ch[]存入output[]中,并用一个变量d记录output中元素的个数。
这样,在两层循环都结束后,所有需要的字符都被存入了output[]中。

int a,b,c,d=0;
for(a=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值