列表

详情


OR63. 删除公共字符

描述

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

输入描述

每个测试输入包含2个字符串

输出描述

输出删除后的字符串

示例1

输入:

They are students. 
aeiou

输出:

Thy r stdnts.

原站题解

C 解法, 执行用时: 1ms, 内存消耗: 224KB, 提交时间: 2018-09-16

#include<stdio.h>
int main()
{
    char a[100],b[100],t[100];
    int i,j,k=0;
    gets(a);
    gets(b);
    
    for(i=0;a[i];i++)
        for(j=0;b[j];j++)
            if(a[i]==b[j])
			a[i]='-'; 
			
    for(i=0;a[i];i++)
    if(a[i]!='-')
	printf("%c",a[i]);	
    
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 348KB, 提交时间: 2019-11-01

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BUFSIZE 1024

int main(int argc, char *argv[])
{

    char buf1[BUFSIZE];
    char buf2[BUFSIZE];

    gets(buf1);
    gets(buf2);

    int i = 0,j = 0,k = 0;

    for(i = 0;i < strlen(buf2);i ++)
    {
        for(j = 0;j < strlen(buf1);j ++)
        {
            if(buf1[j] == buf2[i])
            {
            
                for(k = j;k < strlen(buf1);k ++)
                {
                    buf1[k] = buf1[k+1];
                    buf1[k+1] = '0';
                }                                                                                                                                

            }
        }
        
    }

    printf("%s\n",buf1);

    return 0;
}

上一题