求数组中不同元素的个数

来源:百度知道 编辑:UC知道 时间:2024/06/18 01:42:27
数组中不同元素的个数
#include<stdio.h>
#include<string.h>
main()
{
int i,j,k;
char str[]={'a','b','a','c','a','b'};
int len;

len=strlen(str);
for(i=0;i<len;i++)
{
for(k=j=i+1;j<len;j++)
{
if(str[j]!=str[i])
{
str[k]=str[j];
k++;
}

}
str[k]='\0';
}
printf("%s",str);
}

我现在想求如:{"aa","bb","aa","cc","bb","aa"},想得到
{"aa","bb","cc"}请高手指点
我已经搞定,谢谢你们的关注。
#include"string.h"
main()

你是想仅仅得到“数组中不同元素的个数”还是“数组中不同元素”?

按你的思路改了一下,看满意不:
#include<stdio.h>
#include<string.h>
main()
{
int i,j,k;
char str[100] = {'a','b','a','c','a','b'};
int len;

len = strlen(str);
for( i=0; i<len; i++)
{
for( j=i+1;j<len;j++)
{
if( str[j]==str[i] )
{
str[j]='\0';
}
}
}

printf( "%d\n", len );
k = 1;
for( i=1; i<len; i++)
{
if ( str[i] != '\0')
{
if ( k != i )
{
str[k] = str[i];
str[i] = '\0';
k++;
}
else
{
k++;