您的位置:

c语言字符重复,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);

}