用C语言编程:随机产生30个互不相同的三位正整数给数组A,再随机产生30个互不相同的三位正整数给数组B,编程将两个数组的元素合并放在数组C中,分别输出三个数组的内容
时间: 2023-11-11 14:04:19 浏览: 97
好的,下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 30 // 定义数组大小
int main()
{
int A[SIZE], B[SIZE], C[SIZE * 2];
int i, j, k;
srand(time(NULL)); // 随机数种子
// 生成数组A
for (i = 0; i < SIZE; i++) {
int rand_num;
do {
rand_num = rand() % 900 + 100; // 生成三位正整数
} while (rand_num_in_array(rand_num, A, i)); // 判断是否已经存在
A[i] = rand_num;
}
// 生成数组B
for (i = 0; i < SIZE; i++) {
int rand_num;
do {
rand_num = rand() % 900 + 100; // 生成三位正整数
} while (rand_num_in_array(rand_num, B, i)); // 判断是否已经存在
B[i] = rand_num;
}
// 合并两个数组到数组C中
for (i = 0; i < SIZE; i++) {
C[i] = A[i];
C[i + SIZE] = B[i];
}
// 输出三个数组
printf("Array A:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", A[i]);
}
printf("\n");
printf("Array B:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", B[i]);
}
printf("\n");
printf("Array C:\n");
for (i = 0; i < SIZE * 2; i++) {
printf("%d ", C[i]);
}
printf("\n");
return 0;
}
// 判断一个数是否已经存在于数组中
int rand_num_in_array(int num, int arr[], int len)
{
int i;
for (i = 0; i < len; i++) {
if (num == arr[i]) {
return 1;
}
}
return 0;
}
```
运行结果:
```
Array A:
187 726 456 826 154 250 475 680 436 691 753 853 496 392 314 641 719 208 327 657 520 673 790 613 692 800 808 611 123 745
Array B:
527 253 841 630 720 385 583 364 826 497 365 682 220 635 215 250 684 863 275 795 438 888 661 409 893 591 818 374 258 771
Array C:
187 726 456 826 154 250 475 680 436 691 753 853 496 392 314 641 719 208 327 657 520 673 790 613 692 800 808 611 123 745 527 253 841 630 720 385 583 364 826 497 365 682 220 635 215 250 684 863 275 795 438 888 661 409 893 591 818 374 258 771
```
阅读全文