#include <stdio.h>
#include <string.h> /*
此题只需要删除单个字符,比较简单。相信大家也能做出来的。我这个也是可以实现的。只是加了两个判断 如果需要删除特定的"字串"。下面的程序就可以实现。
编写程序:输入一个字符串,将此字符串中特定的字符删去后,
显示新的字符串,要求用函数来完成删去字符的操作。
*/
del_string(char *str,char *sub){
int i,j,k=0;
char newstr[30];
for(i=0;i<strlen(str);i++){
for(j=0;j<strlen(sub);j++){ //判断字符串字符与子串字符是否相同,当出现一个不同,跳出循环。并写入newstr
if(str[j+i]!=sub[j]){
newstr[k++]=str[i];
break;
}
}
//字符串存在需要删除的子串
if(j==strlen(sub)){ //将i定位到需要删除子串的最后一位位置。随后语句结束i就定位到了后一位
i=i+strlen(sub)-1;
}
}
newstr[k]='\0';
printf("%s",newstr);
}
int main(){
char str[30],sub[30];
gets(str);
gets(sub);
del_string(str,sub);
}
|
请发表评论