PTA 7-304 滤字符
分数 10
作者 usx程序设计类课程组
单位 绍兴文理学院
以指针的方式,将某个字符串中出现的特定字符删去,然后输出新的字符串。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。
每组测试数据输入一个字符串s和一个非空格字符t。其中s的长度不超过100,且只包含英文字母。
输出格式:
对于每组测试,将删掉t后新得到的字串输出。如果串被删空,则输出“NULL”(引号不必输出)。
输入样例:
2
eeidliecielpvu i
ecdssnepffnofdoenci e
输出样例:
eedlecelpvu
cdssnpffnofdonci
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int T;
scanf("%d",&T);
for(int i = 0; i < T; i++){
char s[100] = {0}, y[100] = {0}, t;
scanf("%s", s);
t = getchar(); //输入字符
t = getchar(); //从缓存中读取一个字符
char *p = s, *q = y;
for(p = s, q = y; *p != '\0'; p++){
if(*p != t){ //不为非空格字符t时
*q = *p;
q++;
}
}
if(y[0] == '\0') //字符串数组被清空
printf("NULL\n"); //答案关键检测点
else
printf("%s\n",y);
}
return 0;
}
解题思路:
输入字符,从缓存区读取字符,判断是否与数组中的字符相等,相等就不录入新的字符数组,输出数组即可
归属知识点:
数组
指针