本文目录一览:
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);
}