发布网友 发布时间:2022-06-08 03:16
共2个回答
热心网友 时间:2023-11-06 02:21
for(i = 0; i < N; i++)追答#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10 //si on veat saisir X valeur ,on change N 10 par N X;
int main( )
{
int a[N] , i;
srand(time(NULL));
for(i = 0; i < N; i++)
{
a[i] = rand()%100;
}
int k =0;
for(i = 0; i < N; i++)
{
for(int j=0; j<=i;j++)
{
if (a[i]==a[j] && i != j) break;
if (j <i) continue; // @^_^@前面是这里条件写错了。
printf("%4d ", a[j]);
if((++k)%10 == 0) printf("\n");
}
}
printf("\n");
return 0;
}
热心网友 时间:2023-11-06 02:21
Hash表~如果数字范围比较小就可以用数组规定范围追答
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
#define LEN 100
int main(void)
{
int a[N],i;
char b[LEN]={0};
srand(time(NULL));
for(i=0;i<N;i++)
a[i]=rand()%100;
for(i=0;i<N;i++)
printf("%4d ",a[i]),b[a[i]]++;
printf("\n");
for(i=0;i<LEN;i++) if(b[i]) printf("%4d ",i);
printf("\n");
}
范围在100内的数字(原程序是这样规定的)那就可以使用计数排序,时间复杂度是o(n),空间复杂度是o(n),去重~当然不想去重也容易~