PTA 7-304 滤字符

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;
}

解题思路:
输入字符,从缓存区读取字符,判断是否与数组中的字符相等,相等就不录入新的字符数组,输出数组即可

归属知识点:
数组
指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值