C语言数组中重复的数据都不要,C语言编程:判断数组里有没有重复数字,有true,无false

2020-11-22 07:57:16 字数 5889 阅读 8216

1楼:匿名用户

首先要确定数组中存的是什么类型的数据,之后strlen他的长度,从0开始到strlen(a[10])/2为止,两个for循环比较,如果相等,删除那两个数据(就是将他赋值为空),就是这样

2楼:匿名用户

voidmain(),b[10]=;

inti,j,k=0,c=0;

for(i=0;i

b[k++]=a[i];}}

c语言编程:判断数组里有没有重复数字,有true,无false

3楼:匿名用户

//接口中增加一个索引,目标元素索引,默认从头开始扫描

boolcontainsduplicate(int*nums,intnumssize,intindex=0)

{//不要使用==1来判断,如果数组长度为0呢?

//另外要在循环处理前先预判,不要在循环体内判断,否则浪费cpu时间

if(numssize<2)returnfalse;

//检查索引(目标元素)是否为最后一个元素,是则任务结束,返回false

if(index==(numssize-1))returnfalse;

//从目标元素下一个元素开始遍历

for(inti=index+1;i

好几处错误,我就不一一写了,基本就是思路混乱,判断一个数组中元素重复值的基本思路就是一个一个取出值,并与剩余元素比较,一旦想等就返回真,已经比较过的元素不需要重复比较,然后你看看我的**体会下。

4楼:匿名用户

感觉你写得好混乱

bool cd(int *a, int b)while(i

a++; b--;

return cd(a, b);}

5楼:匿名用户

||用递归做,两个参数是不够的:

boolcontainsduplicate(int*nums,intindex,intnumssize){

if(index>=numsize-1)return0;

intflag=0;

for(inti=index+1;i

c语言中怎样将数组中的所有相同的数都删除

6楼:匿名用户

#include

#include

int main()

}printf("\n原输入数据为:");

for(i=0;i!=0)

i=i-1;

n--;}}

}p=(int *)realloc(p,sizeof(int)*(n_n-count));

printf("\n删除重复数字后的数据为:");

for(i=0;i

printf("%4d",*(p+i));}

7楼:匿名用户

#include

int main()

;printf("the before delete:\n");

for(i=0;i<10;i++)

printf("\n\n");

for(i=0;i<10;i++)

}a[j]=-1;/*将重复的数字标志为-1*/}printf("the delete later:\n");

for(i=0;i<10;i++)

getch();

}希望对你有帮助!

8楼:匿名用户

可以先排个序,然后相邻元素比较,相同的就通过后边的向前移动来去掉, 最后参用链数的数组这个插入删除方便且时间少。

c语言问题 把一个数组中的重复元素去掉

9楼:凌乱心扉

#define _crt_secure_no_deprecate#include

#include

#include

using namespace std;

去掉字符串中重复的字符并排序

int main()}}

int newsize = input.size() - count;

string str(newsize,'0'); //创建一个长为newsize,用‘0’填充的字符串

int j = 0;

for (int i = 0; i < input.size(); i++)

}sort(str.begin(), str.end());

cout << str<}}

10楼:用着追她

1、首先,点击桌面上的vc++6.0,打

开软件。

2、打开软件之后,点击右上方的【文件】【新建】。进入后,再点击【文件】,选择c++ source file.最后点击【确定】。

3、输入**(定义数组): int i;int x[7]; for(i=0;i<7;i++)。

4、输入**(对元素进行倒序排列):for(i=0;i<3;i++) 。

5、电击界面上方的感叹号,开始运行。输入数组的数据。

11楼:匿名用户

先排序,在进行遍历比较。

#include

//升序数组src

voidsort(int*src,intlen)}}intmain()

,d;

inti=0,**t;

sort(num,10);//排序d=num[0];

for(i=1;i<10;i++)//遍历比较}if(num[9]==d)

printf("%d\n",d);

return0;}

12楼:

intmain()

for(i=0;i<9-m;i++)//i<=9---->i<9-mm++;

j=i+1;

}else

j++;}}

for(i=0;i<=9-m;i++)

return0;

}其实就是改了下循环条件而已(既然下面的循环都用了m了,为什么上面不用呢)

13楼:南瓜猪的的的

基本思路

先将数组排序

拷贝数组去重

#include

inta=;

intb[16];

intless(void*a,void*b)intunique(int*input,constintsize_input,int*ans)

qsort(a,size_input,sizeof(int),less);

ans[size_ans]=input[0];

for(;ii

14楼:你妹名字要多长

是把重复数去掉的 不是单纯没有重复

用c语言实现查找数组中重复的数据,删除重复数据后输出数组.

15楼:陈兴爱渝

从第一个元素开始一次和其后元素比较,如果相等,先用一个变量记下这个位置,后面的元素全部向前移动,再从刚才记下的位置继续比较,直到比较完毕,也就是合并完了所有的相同元素。再输出数组就行了。

16楼:雨王的雪鹰

for(int i=0;i

for(int j=0;j

c语言问题,删除整型数组内重复的项并输出,如能解惑,不胜感激。

17楼:

我可以帮你实现这个程序。实现**如下:

#include

#definen8//定义一个符号常量intremove_repeat(int*a,intlen){inti,j,k;

for(i=0;i

{if(a[j]==a[i])//发现重复元素。

{for(k=j+1;k

示例运行结果:

1 2 2 3 5 5 5 8

after remove repeat...

1 2 3 5 8

2 2 2 3 3 3 3 4

after remove repeat...

2 3 4

18楼:匿名用户

#include

#include

#include

intmain(intargc,char*argv);inti,j;

for(i=0;i<30;i++)

printf("\n源数组:");

for(i=0;i<30;i++)

j=0;

while(j<30)

for(i=j+1;i<30;i++)

}j++;

}printf("\n目标数组:");

for(i=0;i<30;i++)

return0;}

19楼:恻耳倾听丶

#include

intdelduplicateelement(inta,intcount)

count--;}}

}returncount;

}intmain(intargc,constchar*argv);

intcount=sizeof(a)/sizeof(int);

printf("原数组:");

for(inti=0;i

count=delduplicateelement(a,count);

printf("删除重复元素后:");

for(inti=0;i

c语言如何求一维数组的不重复数据个数

20楼:匿名用户

下面是c语言求一维数组的不重复数据个数的实现**,供参照:

#include

intmain()

{inti,j,m,n;

intnum[100];

printf("请输入数组的长度个数:\n");

scanf("%d",n);

if(n>sizeof(num))n=sizeof(num);

printf("请输入%d个数值:\n");

for(i=0;i

有疑问可以追问。

求助c语言程序……输入字符到数组里,如果重复,就提示让重新输入数据

21楼:匿名用户

因为我们平时使用的文本文件,每行最多只能有80个字符,加上隐藏的字符串结束符,就是81个字符 而且你用tc,或者vc这些编译器在运行命令行模式程序时,窗口的宽度也是80字符.

22楼:

#include"stdio.h"

intmain(void){

chara[120],i,j,k,ch;

printf("pleaseinputsomecharacters(ctrl+zend)...\n");

for(i=0;i<120;i++){

for(ch=getchar(),j=0;j

用c语言实现查找数组中重复的数据。

23楼:有时不要找我

查找到后是输出还是将重复的数据删去(除第一个外)???