70,021
社区成员




#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#define N 20
#define K 10
void swap(int *a, int *b)
{
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
void generateDiffRandV1(int a[], int n, int k)
{
int i;
time_t t;
for (i = 0; i < n; i++){
a[i] = i;
}
srand((int)time(&t));
for (i = 0; i < k; i++){
swap(&a[i], &a[i+rand()%(n-i)]);
}
}
int main()
{
int a[N];
generateDiffRandV1(a, N, K);
printArray(a, K);
return 0;
}
void swap(int *a, int *b)
{
if (a != b)
{
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
}