华为校招上机试题之字符串特殊字符过滤

字符串处理:
问题描述:把一个字符串中的除了大写字母,小写字母,数字之外的字符过滤掉,输出新的字符串。
要求实现该函数:void my_string(char *input,char *output)
*/
#include 
#include 
#include 

void my_string(char *input,char *output)
{
    //char str_in[100];
  //  char str_out[100];
  while(*input)
  {
      if((*input<='z'&&*input>='a')||(*input<='Z'&&*input>='A')||(*input>='0'&&*input<='9'))
      {
          *output=*input;
          output++;
      }
      input++;
  }
  *output='\0';

}
int main()
{
    char str_in[100];
    char str_out[100];

    printf("please input str_in:\n");
    gets(str_in);

    my_string(str_in,str_out);

    printf("the deleted string is:\n");
    puts(str_out);
    return 0;
}



结果:

please input str_in:

warning: this program uses gets(), which is unsafe.

qweASD123*^&&^&%$

the deleted string is:

qweASD123



你可能感兴趣的:(C,面试,leetcode)