C语言考题:输入一个字符串,将此字符串中特定的字符删去后, 显示新的字符串,要求用函数来完成删去字符的操作。
#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); }