c++编程:从字符串中删除指定的字符

编写函数fun( ),该函数功能是从字符串中删除指定的字符,同一字母的大小写按不同的字符处理。 例如:执行时输入的字符串是 turbo c and borland c++,从键盘上输入字符n,则输出为 turbo c ad borlad c++. 如果输入的字符在字符串中不存在,则原样输出。仅在函数fun的花括号中填入所编写的语句.
#include<iostream.h>
using namespace std;
void fun(char s[],int c)
{
}
int main()
{
static char str[]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符:“;
cin>>ch;
fun(str,ch);
cout<<"str="<<str<<endl;
return 0;
}

我对这些都是一片茫然的,知道的麻烦教我一下~非常感谢!!

#include<iostream>

#include<string.h>

usingnamespacestd;

intmain(){

strings="-daas-j--kdj-al-";

string::iteratorit;

for(it=s.begin();it!=s.end();it++)

if(*it=='-'){

s.erase(it);

it--;

}

cout<<s<<endl;

return0;

}

扩展资料

C++从string中删除一个字符

#include<iostream>

#include<string>

#include<stdlib.h>

usingnamespacestd;

intmain()

{

stringstr="abddghj";

string::iteratorit;//指向string类的迭代器。你可以理解为指针

for(it=str.begin();*it!='';it++)

{

if(*it=='d')

{

str.erase(it);//删除it处的一个字符

break;

}

}

cout<<str<<endl;

system("pause");

return0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16
原始字符串:
turbo c and borland c++
输入一个字符:c
str=turbo and borland ++
Press any key to continue

这就是你写的定义 ? void fun(char s[],int c) 第二个参数是 int?! 哎 无语 谁知道你还把哪里写错着

#include<iostream>
using namespace std;

void *fun(char * const str,const char ch) //从str字符串删除所有的todel字符,返回处理后的字符串地址
{
int i,j;
for (i = 0; str[i];) {
if (str[i]==ch) {
for (j=i; str[j]; j++) {
str[j]=str[j+1];
}
}
else i++;
}
return str;
}

int main()
{
static char str[]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符:";
cin>>ch;
fun(str,ch);
cout<<"str="<<str<<endl;
return 0;
}本回答被提问者采纳
第2个回答  2011-06-17
char *fun( char s[] , const char ch )
{
int len = strlen ( s ) , j = 0 , k = 0/*新字符串的下标*/ ;
for (j = 0 ; j < len ; j++)
{
if (s [ j ] == ch ) continue;
s [ k++ ] = s[ j ];
}
s [ k++] = '\0';

return s;/*设置一个返回值有益于函数的链式表达*/
}
第3个回答  2011-06-17
#include<iostream>
#include<string>
using namespace std;
void fun(char s[],char c)
{
for (int i=0;i<strlen(s);)
{
if (s[i]==c)
{
s[i]=s[i+1];//将目标字符的后一个字符前移 就覆盖了目标字符
}
else
{
++i;
}
}
}
int main()
{
const int n=1000;//为要输入的turbo c and borland c++字符串提供足够大的空间
static char str[n];
gets(str); //char 是C风格的字符串所以用gets函数来输入包括空格在内的字符串
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符:";
cin>>ch;
fun(str,ch);
cout<<"str="<<str<<endl;
return 0;
}
第4个回答  2011-06-17
#include<iostream>
using namespace std;
void fun(char s[],char c)
{
int len=sizeof(s);
for(int i=0;i<len;i++)
{
if(s[i]==c)
{
for(int j=i;j<len;j++)
{
s[j]=s[j+1];
}
i--;
}
}

cout<<s<<endl;
}
int main()
{
char str[]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符: ";
cin>>ch;
fun(str,ch);
cout<<str<<endl;
return 0;
}

c++编程:从字符串中删除指定的字符
include<string.h> usingnamespacestd;intmain(){ strings="-daas-j--kdj-al-";string::iteratorit;for(it=s.begin();it!=s.end();it++)if(*it=='-'){ s.erase(it);it--;} cout<<s<<endl;return0;}

c++如何在字符串中删除指定的字符
c++要在字符串中删除指定的字符,只要把除了指定字符以外的,其他字符都复制一遍,就可以实现指定的目标。设字符数组s中已有字符串,ch是要删除的字符,以下是实现这一功能的代码段:for(i=j=0;s[i];i++)if(s[i]!=ch)s[j++]=s[i];s[j++]='\\0';puts(s);

C++编写程序,将某一指定字符从一个已知的字符串中删除
include<string> include<cctype> using namespace std;int main(){ string s, result_str;bool has_alpha=false;char ch,cc;cout<<"Enter a string:"<<endl;getline(cin,s);for(string::size_type index=0;index!=s.size();++index){ ch=s[index];cc=s[1]; \/\/指定的已知字母 if...

C++删除字符串中指定字符串的方法
\/\/ 在主程序中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中 \/\/ 所有的c字符,然后输出删除后的字符串。\/\/例 如:输入字符a和字符串li wang zha jin xiao,输出:li wng zh jin xio。\/\/提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。inclu...

如何在c++的字符串中删除某个字符串?
1:遍历找到需要的字符;2:如果找到字符的话那么就调用move_t()函数用来将这个字符后的字符往前一个来达到删除该字符的效果 例如:include<cstring> intmain(){ chars1[]="Thisstringisusedfortestingstrstr()function";chars2[]="usedfor";char*s3;s3=strstr(s1,s2);intp1=s3-s1;strcpy(s1+p1...

C++编程题:求从一个字符串中删除所有指定字符的其余字符。如字符串为...
printf("请输入要删除的字符:");scanf("%c",&dst);DelStr(str,dst);printf("%s\\n",str);return 0;} \/\/删除字符串src中的dst字符串 void DelStr( char *src, char dst){ char* p=src;char q=dst;while( *src!=EOF){ if ( *src == q ){ src++;continue;} p++ = *src++...

C++将某一指定字符从一个已知的字符串中删除!
程序我运行过,可以运行但是有一些瑕疵,你的要求是“将某一指定字符从一个已知的字符串中删除”,但这个程序的缺点在于它会删除全部的指定字符,如你输入“good”,然后再输入“o”,结果是“gd”,这显然与删除一个指定字符的要求不符合。下面是对你问题的解答:1.字符串的删除函数中,if语句之后*q...

用C语言在字符串中删除指定的字符。
include "stdio.h"include <string.h> int main(){ char a[50],ch;int i,j;printf("输入字符串:");scanf("%s",a);fflush(stdin);printf("输入要删的字符:");scanf("%c",&ch);for(i=0,j=0;i<strlen(a);i++)if(a[i]!=ch)a[j++]=a[i];a[j]='\\0';puts(a);retur...

c++程序设计 由键盘任意输入一个字符串和任一个字符,要求从该字符串中...
void del(char *ch,char c);main(){ char a[100],c;printf("input a string:\\n");gets(a);printf("input a char:");scanf("%c",&c);del(a,c);puts(a);getch();} void del(char *s,char c){ int i=0,j=0;for(;s[i]!='\\0';i++)if(s[i]!=c)s[j++]=s[i]...

在字符串中删除或添加一个指定字符 c++
cout<<"请输入一个字符串:"<<endl;cin>>a;cout<<"请输入一个要删除\\添加的字符:"<<endl;cin>>ch;cout<<endl;if (search(a,ch)){ dele(a,ch);cout<<"删除左边起第一个字符"<<ch<<"后的结果是:"<<endl;} else { add(a,ch);cout<<"添加字符"<<ch<<"后的结果是:"<<endl;...

相似回答