用C语言如何删除数组中的重复元素

希望能在定义的那个数组中就地删除,而不需再另定义数组进行转移!

说的不是很清楚,数组定义的时候就删除?看来你对数组的操作还不是很清楚,应该是在数据写入数组的时候将其删除吧。你可以这样,如果数组不大,在写入数据的时候先遍历一遍数组看看数组中是否有该数据,如果有那么就不把数据写入数组,如果没有就接着最后一个元素写入数组就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-19
我用的是字符数组。。。其实方法都一样。。#include <stdio.h>
#include <string.h>
#define MAXSIZE 100int main()
{
char array[MAXSIZE];
char del; //要删除的元素
int len, i, j;
printf( "请输入数据:");
gets( array );
printf( "请输入要删除的元素!!!:" );
scanf( "%c", &del );
len = strlen(array);
for( i = 0; i < len; i++ )
{
if( del == array[i] )
{
for( j = i; j < len; j++ )
{
array[j] = array[j+1];
}
i--;
}
}
i = 0;
while( array[i] != '\0' )
{
printf( "%c",array[i] );
i++;
}
printf( "\n" );
return 0;
}本回答被网友采纳
第2个回答  推荐于2016-10-19
#include <stdio.h>
int main()
{
char str[100];
int i=0,j;
printf("input a string \n");
gets(str);
while(i<strlen(str))
{ j=i+1;
printf("delelte result %d\n",strlen(str));
while(j<strlen(str))
{ if(str[j]==str[i])
{
str[j]='\0';
strcat(str,str+j+1) ;
}
else j++;
}
i++ ; }
puts(str);}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网