本文目錄一覽:
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);
}
原創文章,作者:NBYK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/141169.html