C 练习实例32

C 语言经典100例 C 语言经典100例

题目:删除一个字符串中的指定字母,如:字符串 "aca",删除其中的 a 字母。

程序分析:无。

实例

// Created by vip.cnitedu.cn on 15/11/9. // Copyright © 2015年 笨鸟先飞. All rights reserved. // #include<stdio.h> #include<stdlib.h> #include<string.h> // 删除字符串中指定字母函数 char* deleteCharacters(char * str, char * charSet) { int hash [256]; if(NULL == charSet) return str; for(int i = 0; i < 256; i++) hash[i] = 0; for(int i = 0; i < strlen(charSet); i++) hash[charSet[i]] = 1; int currentIndex = 0; for(int i = 0; i < strlen(str); i++) { if(!hash[str[i]]) str[currentIndex++] = str[i]; } str[currentIndex] = '\0'; return str; } int main() { char s[2] = "a"; // 要删除的字母 char s2[5] = "aca"; // 目标字符串 printf("%s\n", deleteCharacters(s2, s)); return 0; }

以上实例输出结果为:

c

C 语言经典100例 C 语言经典100例