以指针的方式,将某个字符串中出现的特定字符删去,然后输出新的字符串。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。
每组测试数据输入一个字符串s和一个非空格字符t。其中s的长度不超过100,且只包含英文字母。
输出格式:
对于每组测试,将删掉t后新得到的字串输出。如果串被删空,则输出NULL
。
输入样例:
2
eeidliecielpvu i
ecdssnepffnofdoenci e
输出样例:
eedlecelpvu
cdssnpffnofdonci
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<iostream>
using namespace std;
void del(string str, char n);
int main()
{
int n;
cin >> n;
string str;
char t;
for (int i = 0; i < n; i++)
{
cin >> str >> t;
del(str, t);
cout << endl;
}
}
void del(string str, char n)
{
int len = str.length();
for (int i = 0; i < len; i++)
{
if (str[i] == n)
{
for (int j = i; j < len - 1; j++)
{
str[j] = str[j + 1];/*把后面的字符向前移一位*/
}
i--;
len--;
}
else
cout << str[i];
}
if (len == 0)
cout << "NULL";
}
不用指针做指针题(