读入的是字符串,数组大小至少为字符串长度+1
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <stdbool.h> 5 6 char str[10001],str1[10001]; 7 bool vis[128]; 8 bool v; 9 10 int main() 11 { 12 long i; 13 char c; 14 gets(str); 15 for (i=0;i<128;i++) 16 vis[i]=true; 17 v=true; 18 //contain ‘ ‘ 19 gets(str1); 20 for (i=0;i<strlen(str1);i++) 21 { 22 c=str1[i]; 23 if (c==‘ ‘) 24 v=false; 25 else 26 vis[(long)c]=false; 27 } 28 for (i=0;i<strlen(str);i++) 29 { 30 if (str[i]==‘ ‘) 31 { 32 if (v) 33 printf("%c",str[i]); 34 } 35 else 36 { 37 if (vis[(long)str[i]]) 38 printf("%c",str[i]); 39 } 40 } 41 printf("\n"); 42 return 0; 43 }