功能:編寫函式void fun(char *str,char ch)從字串str中刪除指定的字元ch。
阿新 • • 發佈:2020-12-31
技術標籤:c語言
功能:編寫函式void fun(char *str,char ch)從字串str中刪除指定的字元ch。
要求:本問題要求用兩種演算法分別實現,一是直接刪除演算法即查詢符合刪除條件的並逐次前移實現;二是間接刪除演算法即查詢不符合刪除條件的並保留下來,而保留的方法可以採用利用本陣列和引入臨時陣列兩種實現。
void delete(char s[],char ch) //直接刪除法
{
int i=0,j=0;
while(s[i]!='\0')
{
if(s[i]==ch) //定位待刪字元
{
j=i;
while(s[j+1]!='\0')
{
s[ j]=s[j+1];
j++;
}
s[j]='\0';
i--;
}
i++;
}
}
int main()
{
char str[80];
char ch;
gets(str);
scanf("%c",&ch);
delete(str,ch);
printf("%s\n",str);
return 0;
}
void delete(char s[],char ch) //間接刪除法
{
int i,k=0;
for(i=0;s[i]!='\0' ;i++)
{
if(s[i]!=ch)
s[k++]=s[i];
}
s[k]='\0';
}
int main()
{
char str[80];
char ch;
gets(str);
scanf("%c",&ch);
delete(str,ch);
printf("%s\n",str);
return 0;
}