本文目錄一覽:
- 1、C語言 刪除重複字符
- 2、C語言重複字符問題
- 3、C語言怎樣重複輸出字符
- 4、C語言,輸入一個字符串,輸出字符串中一共有多少個重複的字符?
- 5、c語言字符串怎麼去除重複的字符
- 6、如何去除重複字符c語言
C語言 刪除重複字符
程序的基本思路是把輸入的字符串放到a[100]字符組中,然後把a[100]中所有不重複的字符添加到b[100]中,間接完成對字符串中的重複字符的刪除
#includestdio.h
void
main()
{
char
a[100],b[100];
//定義兩個字符組,a[100]用來接收輸入的字符串,b[100]用來存儲不重複的字符
int
pa=0,pb=0,i,flag;
scanf(“%s”,a);
//輸入字符串到a[100]中,用scanf讀入到a[100]中會自動在a[100]中字符串結束的地方加上’\0′
for(pa=0;a[pa]!=’\0′;pa++)
//for循環結束的條件是a[pa]==0,也就是從a[100]字符組中讀取一個字符,直到沒有
{
flag=1;
//flag是個標誌符,當flag==1時,說明這個字符(下句中的a[pa])是第一次出現,應該加入到b[100]中
//如果flag==0,說明這個字符(下句中的a[pa])重複了,不應該加到b[100]中
for(i=0;ipb;i++)
if(b[i]==a[pa])
flag=0;
//把a[100]中讀取的字符a[pa]與b[100]中的所有字符進行比較,如果b[i]==a[pa]
//說明這個字符已經在b[100]中了,也就是重複字符了,所有將flag=0,不能加入b[100]中
//如果a[pa]與b[100]中的所有字符都不相等,說明這個字條是第一次出現,應該加到b[100]
if(flag)
{
b[pb]=a[pa];pb++;
}
//如果flag==1,則將a[pa]這個字符加入到b[100]中,然後將pb加1
}
b[pb]=’\0′;
//當所有的不重複的字符都加入到b[100]中時,將b[100]中字符結束的地方加’\0′,也就是b[pb]=’\0′
//因為字符串都是民’\0’結尾的,所以加上這句
printf(“%s\n”,b);
//輸出b[100]中的字符串,也就是刪除過重複字符之後的了
}
C語言重複字符問題
#includestdio.h
void main() { char s[256]; int i,b,n;
gets(s); i=1; b=0; n=1; //i:當前要處理字符位置,b是否重複標誌,n重複個數
while ( s[i]!=0 ) {
if ( s[i]==s[i-1] ) { b=1; n++; }
else {
if ( b!=0 ) { s[i-1]=n+’0′; b=0; }
n=1;
}
i++;
}
printf(“%s\n”,s);
}
C語言怎樣重複輸出字符
C語言中輸出使用printf()函數。
輸出字符需要用%c佔位符,也可以直接輸出。
重讀輸出字符可以用循環。
例:
直接輸出
for(int
i=
;
i
10
;
i++)
{
printf(“*****************************\n”);//循環10次,輸出10行*
}
變量輸出
char
c
=
『a』;
for(int
i
=
0;
i
10;
i++)
{
printf(「%c\n」,c);//循環10次,輸出變量c
}
C語言,輸入一個字符串,輸出字符串中一共有多少個重複的字符?
統計字符串中的重複字符,可以通過簡單哈希算法來實現。
有效的字符的ascii值在0-127之間,定義一個128位的數組,初始化為0,用數組下標對應相應的字符,數組元素值表示字符出現的頻率,統計相應字符的個數,個數大於1的字符就是重複的。
參考代碼如下:
#includestdio.h
void main()
{
char s[1024];
int carr[128]={0};
int i;
printf(“input a string: “);
gets(s);
for( i=0;s[i];i++ )
{
int index=s[i];
if ( index =0 index = 127 ) //安全處理,防止輸入異常時,程序出錯
carr[index]++ ;
}
for( i=0;i128;i++ )
if ( carr[i] 1 )
printf(“%c:%d\n”, i, carr[i] );
}
運行結果:
input a string: hello world
l:3
o:2
c語言字符串怎麼去除重複的字符
程序的基本思路是把輸入漏猜的字符串放到a[100]字符組中,然後把a[100]中所有不重複的字符添加到b[100]中,間接完成對字符串中的重複字符的刪除
如何去除重複字符c語言
#includestdio.h
int main(void)
{
char s[100];
int i, j, n, k;
printf(“請輸入一串有重複字符的字符串:\n”);
gets(s);
for (n = 0; s[n] != ‘\0’; n++) ;
for (i = 0; i n; i++)
{
for (j = k = i + 1; j n; j++)
if (s[j] != s[i])
s[k++] = s[j];
s[k] = ‘\0’;
}
printf(“去掉重複字符後結果為:\n”);
puts(s);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/288760.html