PAT---1050. String Subtraction (20)

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
#define  N 128
int main()
{
    int i=0,sum;
    bool is_exist[N];
    char ch;
    char str[10000];

    //void *memset(void *s,int ch,size_t n)
    //将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值
    memset(is_exist,0,sizeof(is_exist));
    //把用户的每个输入的字符放入str中,直到用户输入了换行停止
    while(scanf("%c",&ch)&&ch!=‘\n‘){
        //输入的这个字符放在数组中自动转换成对应的ASCII值,更新 is_exist
        is_exist[ch]=true;
        //把输入的字符存入str这个字符数组
        str[i++]=ch;
    }
    //sum记录的是第一次输入的字符串的长度
    sum=i;
    //让用户第二次输入字符串
    while(scanf("%c",&ch)&&ch!=‘\n‘){
        //让is_exist对应的字符的ASCII位标记为false
        is_exist[ch]=false;
    }
    i=0;
    while(i<sum){
        //如果在str[i]的ASCII值做下标 ,在is_exist中不是false,那么是0或者true
        //说明这个字符在第二次的输入中没有出现过
        if(is_exist[str[i]]!=false)
            //输出该字符
            printf("%c",str[i]);
        i++;
    }
    return 0;
}

总结:1.把字符作为数组的下标会转化为该字符对应的ASCII码。

2.memset函数的使用:void *memset(void *s, int ch, size_t n);

含义:将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定

作用:在一段内存块中填充某个给定的值,它是对较大的结构体数组进行清零操作的一种最快方法

PAT---1050. String Subtraction (20)

时间: 2024-10-18 18:25:10

PAT---1050. String Subtraction (20)的相关文章

1050. String Subtraction (20)【字符串处理】——PAT (Advanced Level) Practise

题目信息 1050. String Subtraction (20) 时间限制10 ms 内存限制65536 kB 代码长度限制16000 B Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simply to calculate S1 - S2 for any giv

pat 1050 String Subtraction(20 分)

1050 String Subtraction(20 分) 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

PAT:1050. String Subtraction (20) AC

#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; bool HARSH[260]; //实际上申请来之后初试都是false int main() { fill(HARSH,HARSH+260,true); char str1[10066]; char str2[10066]; gets(str1); gets(str2); int len1=strlen(str1)

PAT (Advanced Level) 1050. String Subtraction (20)

简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<cstdio> #include<map> #include<queue> #include<string> #include<vector> using namespace std; const int maxn=100000

PAT甲题题解-1050. String Subtraction (20)-水题

#include <iostream> #include <cstdio> #include <string.h> #include <algorithm> using namespace std; /* 水题,注意字符范围是整个ASCII编码即可. */ const int maxn=130; int vis[maxn]; char s1[10000+5]; char s2[10000+5]; int main() { gets(s1); //getcha

PAT Advanced 1050 String Subtraction (20 分)

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

PAT Advanced 1050 String Subtraction (20) [Hash散列]

题目 Given two strings S1 and S2, S = S1 – S2 is defined to be the remaining string afer taking all the characters in S2 from S1. Your task is simply to calculate S1 – S2 for any given strings. However, it might not be that simple to do it fast. Input

【PAT甲级】1050 String Subtraction (20 分)

题意: 输入两个串,长度小于10000,输出第一个串去掉第二个串含有的字符的余串. trick: ascii码为0的是NULL,减去'0','a','A',均会导致可能减成负数. 代码: #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;char s1[10007],s2[10007];int vis[507];int main(){ ios::sync_with_stdio(false); cin.t

1050. String Subtraction (20)

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

PAT 1050 String Subtraction

#include <cstdio> #include <cstdlib> using namespace std; int main() { bool tbl[256] = {0}; char line[10009]; int len = 0; char ch; while (true) { scanf("%c", &ch); if (ch == '\n') break; line[len++] = ch; } line[len] = '\0'; whi