① c语言 删除字符串中重复的字符
你这不废话么,你定义的是int
fun()
要求返回值是int型,你不加return肯定不对,不加就没有返回值,你的函数就不对了
楼上两位胡扯的
② 如何去除重复字符c语言
#include<stdio.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);
}
③ c语言,输入为一些字符串,想要去除重复的字符串然后输出
#defineN100//定义最多可以测试100个字串
#defineM100//定义每个字串最长100
#defineEND"End!"//定义结束输入的字串
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intissame(char*p[],char*f,intn){
inti;
for(i=0;i<=n;i++)
if(strcmp(p[i],f)==0)return1;
return0;
}
intmain(void){
char*p[N];
inti=0,total;
intcount=0;
printf("请输入不多于%d的字符串,以End!为结束 ",N);
while(1){
p[i]=(char*)(malloc(M));//定义每个字串最长为100
printf("第%d个字串:",i+1);
gets(p[i]);
if(strcmp(p[i],END)==0)break;//如果输入了结束标记则结束输入
i++;
}
total=i-1;//计算总共输入了多少字串
printf("以下得出不同的字串 ");
for(i=0;i<=total;i++){
if(issame(p,p[i],i-1)==0){//检查是否与前面输入的字符一致
count++;
printf("%d %s ",count,p[i]);
}
}
}
④ C语言 输入一个字符串 去掉重复的字符,输出无重复的
统计字符串中的重复字符,可以通过简单哈希算法来实现。
有效的字符的ascii值在0-127之间,定义一个128位的数组,初始化为0,用数组下标对应相应的字符,数组元素值表示字符出现的频率,统计相应字符的个数,个数大于1的字符就是重复的。
参考代码如下:
#include
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;i<128;i++ )
if ( carr[i] > 1 )
printf("%c:%d\n", i, carr[i] );
}运行结果:
input
a
string:
hello
world
l:3
o:2
⑤ c语言删除字符串中重复的字符,大神求指教!
问题有点多啊。。。首先你的enter[0]根本没写进tested[0]中。然后你while中 for循环你是对enter[0]进行遍历的,并不是对你思路中提到的对tested数组进行遍历。想要对tested数组进行你想象中的遍历的话你还差一个指针或者你每添加一个字符进入tested中时,都把最后置成\0
⑥ c语言字符串怎么去除重复的字符
程序的基本思路是把输入漏猜的字符串放到a[100]字符组中,然后把a[100]中所有不重复的字符添加到b[100]中,间接完成对字符串中的重复字符的删除
⑦ C语言中删除字符串中的重复字符,然后输出新的字符串
这个容易,就是把指定位置的字符去掉,也就是说后面的字符覆盖
比如删除指定的字符在字符串中第一个出现的位置
void
strdel(
char*
str,
char
ch
)
{
char
*p
=
str;
while(
*p
)
{
if(
*p==ch
)
break;
}
if(
*p
)
{
while(
*p
)
{
*p==*(p+1);
p++;
}
}
}
希望能解决您的问题。
⑧ C语言编写一个函数,将字符串中连续重复出现的字符去除
C语言自定义函数,一次性去除连续重复字符,参考代码如下:
#include<stdio.h>
char *fun(char *str)
{
int i=1,j=0;
if(str==NULL)
return NULL;
if(str[0]==0)
return str;
while(str[i]!=0)
if(str[j]!=str[i])
str[++j]=str[i++];
else ++i;
str[j+1]=0;
return str;
}
int main()
{
char str[500];
gets(str);
puts(fun(str));
return 0;
}
⑨ c语言中,去掉字符串s中所有重复的字符,只保留从左到右第一次出现的那一个
1、首先在c语言中,写上注释内容,如下图所示。
⑩ 纠错:C语言:删除重复字符。
没注释, 还不如重新写一个
#include<stdio.h>
#include<stdlib.h>
intmain()
{
charLetter[80];//用于接收输入字符串
intresult[128]={0};//相当于一张空的ASCII码表
gets(Letter);
intsize=strlen(Letter);
inti,j=0;
for(i=0;i<size;i++)//该循环好比
{//字符串中的每个字符在空ASCII码表中打勾
result[Letter[i]]=1;
}
memset(Letter,'