c++语言问题,输入一个字符串,将指定位置的字符删除。。求解。。。感谢

如题所述

第1个回答  2012-05-29
#include <iostream>
using namespace std;
void deleted(char b[],int i,int len)
{
for(int j=i+1;j<len;j++)
b[j-1]=b[j];

}
int main()
{

char a[20];
int len=sizeof(a)/sizeof(char);
cin>>a;
cout<<a;
char b;
cout<<"输入你要删除的字符:";
cin>>b;
for (int i=0;i<len;i++)
{
if (a[i]==b)
{
deleted(a,i,len);

}

}
cout<<a;

return 0;
}本回答被提问者采纳
第2个回答  2012-05-26
#include<stdio.h>
#include<string.h>
int i,j;
char a[50];
char b[50];
char n;
scanf("%c",&n);
for(i=0;i<length(a);i++)
{
if(a[i] == n)
{
for(j=0;j<(length(a)-i);j++)
b[j]=a[i+j+1];
a[i]='\0';
break;
}
}//只能删除一个字符。
strcat(a,b);追问

亲,是C++,不是c语言,麻烦你改一下

追答

#include
#include
using namespace std;
int i,j;
char a[50];
char b[50];
char n;
scanf("%c",&n);
for(i=0;i<strlen(a);i++)
{
if(a[i] == n)
{
for(j=0;j<(strlen(a)-i);j++)
b[j]=a[i+j+1];
a[i]='\0';
break;
}
}//只能删除一个字符。
strcat(a,b);

追问

有错误。。

第3个回答  2012-05-26
#include <iostream>
int main()
{
std::string s;
std::string::size_type p(std::string::npos);
std::cin >> s >> p;
s.at(p)='\0';
std::cout << s << std::endl;
}
相似回答