关于输入带空格的一行的问题
以下给出三种方法:
- EOF
注意这种方法在clion上测试不出来,,但是在oj上跑是没有问题的
- cin.getline(s,len)
- getchar()
#include<iostream>
#include<vector>
#include <queue>
#include <algorithm>
#include<cstdio>
#include <map>
using namespace std;
//还是要注意一点就是string中的每一位都是char类型,搞数字的时候要 -'0'
//测试题:B1009说反话
/*
char a[100][100];
int i=0;
while(scanf("%s",a[i])!=EOF){
i++;
}
for (int j = i-1; j >= 0; --j) {
printf("%s",a[j]);
if(j>0)
printf(" ");
}
*/
/*
//直接读一行:包括空格
//input:2 3 4
//output:2 3 4
char s[100];
cin.getline(s,1000);
printf("%s",s);
*/
//跟上一个一样
/*
char s[100];
int len=0;
while(1){
s[len++]=getchar();
if(s[len-1]=='\n')
break;
}
for (int i = 0; i < len; ++i) {
cout<<s[i];
}
*/
//测试题目:A1050
//题目明确说了有空格,那就不要EOF了,因为它就是用空格分隔的
char s1[100000], s2[100000];
map<char,int> flag;
int main() {
cin.getline(s1, 100000);
cin.getline(s2, 100000);
int lens1 = strlen(s1), lens2 = strlen(s2);
for(int i = 0; i < lens2; i++)
flag[s2[i]] = 1;
for(int i = 0; i < lens1; i++) {
if(!flag[s1[i]])
printf("%c", s1[i]);
}
return 0;
}
为了自己,和那些爱你的人