删除字符
发布日期:2022-02-27 02:37:48 浏览次数:54 分类:技术文章

本文共 939 字,大约阅读时间需要 3 分钟。

习题8-6 删除字符 (20 分)

本题要求实现一个删除字符串中的指定字符的简单函数。

函数接口定义:
void delchar( char *str, char c );

其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。

裁判测试程序样例:
#include 
#define MAXN 20void delchar( char *str, char c );void ReadString( char s[] ); /* 由裁判实现,略去不表 */int main(){
char str[MAXN], c; scanf("%c\n", &c); ReadString(str); delchar(str, c); printf("%s\n", str); return 0;}/* 你的代码将被嵌在这里 */

输入样例:

ahappy new year

输出样例:

hppy new yer

代码:

/*两种形式的解法,思路和网上常见的也是一样的原理,每次遇到某一指定的字符就把后面的字符向前移动。解题思路都相同,此处用的是指针,直接修改str参数本身*/void delchar( char *str, char c ){
//形式一 char *p = str; while(*str!='\0'){
if(*str==c){
str++; continue; } *p = *str; p++; str++; } *p = '\0'; /* //形式二: char *p = str; int i; for(i=0;str[i]!='\0';i++){ if(str[i]==c) continue; *p = str[i]; p++; } *p = '\0';*/ //str = &res; //printf("%s",str);}

题目链接:

转载地址:https://blog.csdn.net/weixin_43376042/article/details/113758279 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:指针的初步使用(C语言)
下一篇:优化NetBeans的启动速度

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月03日 01时04分44秒