7-1 使用函数删除字符串中的字符 (10分)
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入一个字符串 str,再输入一个字符 c,将字符串 str 中出现的所有字符 c 删除。
要求定义并调用函数delchar(str,c), 它的功能是将字符串 str 中出现的所有 c 字符删除,函数形参str的类型是字符指针,形参c的类型是char,函数类型是void。
输入输出示例:括号内为说明,无需输入输出
输入样例:
3 (repeat=3)
happy new year (字符串"happy new year")
a (待删除的字符'a')
bee (字符串"bee")
e (待删除的字符'e')
111211 (字符串"111211")
1 (待删除的字符'1')
输出样例:
result: hppy new yer (字符串"happy new year"中的字符'a'都被删除)
result: b (字符串"bee"中的字符'e'都被删除)
result: 2 (字符串"111211"中的字符'1'都被删除)
我的程序:
#include <stdio.h>
void delchar(char *str,char c);//它的功能是将字符串 str 中出现的所有 c 字符删除
int main()
{
int n=0,repeat;
char s[10][1000]={0},c1[10]={0};
scanf("%d",&repeat);for(n=0;n<repeat;n++)//循环次数 { getchar(); //消\n(换行符号)fflush(stdin)gets(s[n]); c1[n]=getchar(); //或者scanf("%[^\n] %c",&s[n],&c1[n]);}for(n=0;n<repeat;n++) //循环次数 delchar(s[n],c1[n]);
return 0;
}void delchar(char *str,char c)
{char *p,*q;for(p=str,q=str;*p != '\0';p++)if(*p != c) *q++ = *p;*q = *p; //把后面的‘\0’赋给q,也是他本身;printf("result: %s\n",str);
}
第二种方法:(转载https://www.cnblogs.com/hhwcg/p/10693314.html)
#include<stdio.h>
void delchar(char str[],char c);
int main()
{int repeat;char str[80],c;scanf("%d\n",&repeat); //要加换行符 while(repeat--){gets(str); //输入字符串 scanf("%c",&c); printf("result: ");delchar(str,c);//调用函数 }return 0;
}void delchar(char str[],char c) //str[]相当于*p
{while(*str!='\0') //不为空字符 {if(*str!=c) //字符不相等 {putchar(*str); //输出字符 ,要注意puts()是输出字符串,putchar()是输出一个字符 }str++; //移动到下一个字符 }
}
7-1 使用函数删除字符串中的字符 (10分)相关推荐
- 7-2 删除字符串中指定字符 (10分)
7-2 删除字符串中指定字符 (10分) 删除字符串中的指定字符,字符串和要删除的字符均由键盘输入. 输入格式: 在第一行中输入一个长度不超过20的字符串.并以回车结束:在第二行中输入待删除的一个字符 ...
- Java删除字符串中指定字符的方法分享
转自: Java如何删除字符串中指定字符呢? 字符串: 字符串主要用于编程,概念说明.函数解释.用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=& ...
- c语言中怎样删除字符串中的字母,删除字符串中的字符(C语言)
题目: 编程序将给定字符串中指定字符删除.要求删除指定字符后原字符串不能留下空位置,字符串和指定字符均由键盘输入 基本思路 将字符串与要删除的字符进行比较,若为相同字符,则将字符串中的该字符替换为原字 ...
- php 删除字符串里指定字符,php删除字符串中指定字符_php删除字符串
在做项目时需要对一个字符串进行处理,也就是删除指定的字符,吾爱编程通过这篇文章主要介绍了PHP实现删除字符串中任何字符的函数,涉及php针对字符串的遍历与截取操作技巧,需要的朋友可以参考一下: PHP ...
- 快慢指针____函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移
函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量.如原始串为:ab**cd**e*12,处理后为*****abcde12 ...
- 7-121 删除字符串中的子串 (20 分)
7-121 删除字符串中的子串 (20 分) 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以 ...
- 9-5 删除字符串中指定字符
[问题描述]删除字符串中的字符.输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除,然后输出删除后的字符串. [输入形式] 输入字符串和字符 [输出形式] 输出删除字符后的字符串 [ ...
- js删除字符串中指定字符
删除字符串中指定字符 js方法删除指定字符:replace(); let JsonData = {validBegNm:"2022-06-02" }; JsonData.valid ...
- 7-1 删除字符串中的子串 (20分)
7-1 删除字符串中的子串 (20分) 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以回车结 ...
最新文章
- 美国对六种新兴技术实施控制:EUV和5nm相关技术在列
- 教你用netstat-实践案例
- UA MATH563 概率论的数学基础 鞅论初步6 鞅的性质 鞅差序列
- 3、HTML网页基本概念
- 使用角色管理工具 安装或配置microsoft.net framework 3.5 sp1
- iOS 应用状态详解
- Bzoj2527--Poi2011Meteor
- 算法(一):二分查找
- OpenCV-Python教程(7、Laplacian算子)
- Java面试题附答案(面试必会)
- Java日期时间格式转换
- 适合游戏视频剪辑CPU排行榜,cpu天梯图
- 利用mail 发送163 邮件
- 夏令营一部分数学试题
- win10资源管理器打开一直正在处理文件加载不出来,桌面图标不加载
- linux gt; gt;gt;区别,linux中amp;gt;什么意思? - 懂得
- h5 /web 手机端 实现保存图片 到本地相册 uni-app
- 统计学知识大梳理(三)
- ES压测工具(四):esrally实例操作
- 成熟的J2EE框架应该具体的功能