c语言-关于去除数组中重复元素的问题

问题描述

关于去除数组中重复元素的问题

源代码:#include
#include
int main()
{
int *a;
int n,i,j;
scanf("%d",n);
a=(int *)malloc(n*sizeof(int));
for (i=0;i<n;i++)
scanf("%d",&a[i]);
for (i=0;i<n;i++)
for (j=1;j<n;j++)
if (a[i]==a[j])
printf ("%d",&a[i]);
else
printf ("%d %d",&a[i],&a[j]);
free(a);
return 0;
}

编译没错,但是运行时出错,求大神帮忙看看问题出在哪里?

解决方案

去除数组中重复元素
去除数组中的重复元素
去除数组中重复的元素

解决方案二:

&,scanf, 关键字。

解决方案三:

程序本身就有问题,你那两个For循环明显是错了。

int Unique(int array[],int arrayLength){

int k=0;

int i=1;

while(i<arrayLength){

if(array[k]==array[i])

i++;

else{

k++;

array[k]=array[i++];

}

}

return k+1;//返回的是目标数组长度

}

int main(){

int array[]={1,2,2,3,4,4,6,6,6,9};

int n=Unique(array,10);

for(int i=0;i<n;i++)

cout<<array[i]<<" ";

return 0;

}

解决方案四:

int *a = NULL;
int n = 0,i = 0,j = 0;
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int));
for (i=0;i<n;i++)
    scanf("%d",&a[i]);
for (i=0;i<n;i++)
    for (j=i+1;j<n;j++)
        if (a[i]==a[j])
            printf ("%d",a[i]);

// else
// printf ("%d %d",a[i],a[j]);

初始化指着

解决方案五:

养成一个好习惯,数据使用之前初始化一下,看看我的代码和你的区别。

时间: 2024-12-31 18:42:58

c语言-关于去除数组中重复元素的问题的相关文章

PHP去除数组中重复的元素并按键名排序函数_php技巧

1.此函数的作用:去除数组中重复的元素并按键名排序 function assoc_unique($arr, $key) { $tmp_arr = array(); foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } sort($arr); return $arr; } 使用例子: $aa = array( array(

C# 去除数组中重复的元素简单代码

例子  代码如下 复制代码 string[] stringArray = { "aaa", "bbb", "aaa", "ccc", "bbb", "ddd", "ccc", "aaa", "bbb", "ddd" }; //List用于存储从数组里取出来的不相同的元素 List>string>

JS简单去除数组中重复项的方法_javascript技巧

本文实例讲述了JS简单去除数组中重复项的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var arr = ["aaa","bb

去除数组中重复的项

数组|重复 <% '======================================'作者:阿里西西'时间:2005.12.20'作用:去除数组中重复的项'======================================Function MoveR(Rstr) Dim i,SpStr SpStr = Split(Rstr,",") For i = 0 To Ubound(Spstr)  If I = 0 then   MoveR = MoveR &

运用javascript如何去除数组中重复的数字或者字符串?

问题描述 运用javascript如何去除数组中重复的数字或者字符串? 运用javascript如何去除数组中重复的数字或者字符串?谢谢了.方法越多越好,谢谢. 解决方案 JavaScript实现数组去除重复整理 javascript 去除数组中重复项的几种方法 解决方案二: 本人只会用JAVA写

Python去除列表中重复元素的方法_python

本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c',

php删除数组中重复元素的方法_php技巧

几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法.方法一.完整删除重复数组实例-----删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_value

JS 清除字符串数组中,重复元素的实现方法_javascript技巧

JS 清除字符串数组中,重复元素的实现方法 <script language="JavaScript"> <!-- var arrData=new Array(); for(var i=0; i<1000; i++) { arrData[arrData.length] = String.fromCharCode(Math.floor(Math.random()*26)+97); } //document.write(arrData+"<br/&g

jquery删除数组中重复元素_jquery

话不多说,下面就跟着小编来看下利用jquery实现删除数组中重复元素的具体思路吧 首先定义如下数组: var arr=[0,2,3,5,6,9,2]; 我们可以看到数组中存在重复元素'2'; 最后通过jquery筛选应该得到[0,2,3,5,6,9]; ok,首先我们再定义一个空数组,用来存放最后筛选出来的元素: var new_arr=[]; 利用jquery的$.inArray可以轻松实现: 遍历数组元素: for(var i=0;i<arr.length;i++) { var items=