您的位置:

c语言如何过滤字符,c语言去除特定字符

本文目录一览:

C语言实验题——字符过滤

可以执行

#includestdio.h

#includestring.h

int main()

{

void qu(char *c1,char c2);

int n,i,a,b;

char str[10000],s[10000];

gets(str);

gets(s);

a=strlen(str);

b=strlen(s);

for(i=0;ib;i++)

qu(str,s[i]);

puts(str);

return 0;

}

void qu(char *c1,char c2)

{

int i,a,b,s=0;

char c[10000];

a=strlen(c1);

for(i=0;ia;i++)

if(c2!=c1[i])

{

c[s]=c1[i];

s++;

}

c[s]='\0';

for(i=0;i=s;i++)

c1[i]=c[i];

}

寻找一个c语言程序:从输入中过滤字符串?

我也试了一下,没问题,你到底是什么问题,是要在s1或s2中输入空格吗?那么用gets函数;

gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。

其调用格式为:gets(s);

其中s为字符串变量(字符串数组名或字符串指针)。

gets(s)函数与scanf("%s:",s)/*scanf("%s",s)*/相似,但不完全相同,使用scanf("%s",s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。

你改为:

#includestdio.h

voidmain()

{chars1[50],s2[50];

gets(s1);

gets(s2);

printf("%s\n",s1);

printf("%s\n",s2);

}

这样就用回车表示输入结束

C语言怎么编写:请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

结果出来了,你看看吧,满意请采纳

#include stdio.h

#include string.h

void finddd(char x[]);

int main()

{

    char a[150];

    char *aa;

    int a1;

    int i;

        printf("请输入任意的字符串: ");

        gets(a);

        finddd(a);

    return 0;

}

void finddd(char x[])       // 不带数据返回 

{

int  i,shu=0;

char aa[100];               

int  aaa[200]={0};

for(i=0;istrlen(x);i++)

{

     if(aaa[ x[i] ] == 0)

     {

aaa[ x[i] ] = 1;

         aa[shu++]=x[i];

     }

}

   aa[shu++]='\0';

   printf("剔除重复字符后的字符串: %s\n",aa);

}