#include <stdio.h>
#include<malloc.h>
#include<string.h>
//计算字符串中含有的不同字符的个数。相同的算一个
//如果我把重复的都去掉呢?剩下的不就是不同的个数了么
int main() {
char *str=(char*)malloc(500*sizeof(char));
scanf("%s",str);
int i,cnt=0;
int len=strlen(str);
for(i=0;i<len;i++)
{
for(int j=i+1;j<len;j++)
{
if(str[i]==str[j])
{
for(int k=j;k<len-1;k++)
str[k]=str[k+1];
j--;
len--;
}
}
}
printf("%d\n",len);
}
计算字符串中含有的不同字符的个数。相同的算一个,我的思路就是
如果我把重复的都去掉呢?剩下的不就是不同的个数了么?
所以就按照这个思路走了一遍一次就出来了!
附上删除数组重复元素代码:
for(i=0;i<len;i++)
{
for(int j=i+1;j<len;j++)
{
if(str[i]==str[j])
{
for(int k=j;k<len-1;k++)
str[k]=str[k+1];
j--;
len--;
}
}

京公网安备 11010502036488号