PAT甲级1050(字符串减法)

1050 String Subtraction (20 point(s))

  Given two strings S​1 and S​2, S=S​1−S​2 is defined to be the remaining string after taking all the characters in S​2 from S​1. Your task is simply to calculate S​1−S​2 for any given strings. However, it might not be that simple to do it fast.

Input Specification:
  Each input file contains one test case. Each case consists of two lines which gives S​1 and S​2, respectively. The string lengths of both strings are no more than 10​4. It is guaranteed that all the characters are visible ASCII codes and white space, and a new line character signals the end of a string.

Output Specification:
  For each test case, print S​1−S​2​​ in one line.

Sample Input:

They are students.
aeiou

Sample Output:

Thy r stdnts.

题目大意

  就是把两个字符串相减,输出结果,很简单的一道题,用散列思想

代码

#define _CRT_SECURE_NO_WARNINGS
#include 
#include 
#include 

char str[10005];

int main()
{
	int ret = scanf("%[^\n]", str);//读入整行
	ret = getchar();
	int hashTable[128] = { 0 };
	char c;
	while ((c = getchar()) != '\n') {
		hashTable[c] = 1;
	}
	for (int i = 0; i < strlen(str); ++i) {
		if (hashTable[str[i]] == 0) {
			printf("%c", str[i]);
		}
	}
	return 0;
}

你可能感兴趣的:(PAT甲级)