c语言中如何统计某列数据中出现的不同数据,并将这些数据存储起来以备后用。

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:12:18
如题。

统计A数组中出现的不同数据的个数,并将这些数据存储起来以备后面使用。

请写出具体的C语言代码。

谢谢
上面问题中的描述有小小的错误,不是统计个数,而是将不同的元素统计出来将其存储起来。

数组int A[30];

统计结果放入数组int B[30];//因为不同数据出现的次数不定,所以定义B数组时定义成可能最多的情况,也就是说A数组中每个数据都互不相同。

B数组所有数组元素初始化成-1,约定-1不出现在A数组中。

统计A中出现的所有不同的数据,相应的数据存储在B数组中。
例如A数组中元素如下:
1,2,3,5,23,2,3,2,5,6,34,23
在A数组中出现过1,2,3,5,23,6,34
那么B数组中就应该是相应的1,2,3,5,23,6,34

#include<stdio.h>

int main(void)
{
int i, j, x;
int a[30]={1,2,3,5,23,2,3,2,5,6,34,23};
int b[30]={0};

for(i=0;i<30;i++)
printf("%d ", a[i]);

printf("\n\n");

for(i=0; i<30; i++)
{
if(a[i]!=0) //数组a判断默认值0
{
j=0;
x=1;
while( b[j]!=0&&x) // 数组b判断默认值0
{
if(b[j]==a[i])
x=0;
j++;
}
if(x)
{
b[j]=a[i];
}
}
}

for(i=0;i<30; i++)
{
printf("%d ",b[i]);
}

return 0;
}

我用的空值是0,因为-1太麻烦,我懒得一个个改,就直接用的默认值0。你要用-1可以自己改。

这题目也太开放了吧..给点具体的