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