输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素(如a[6]={2,3,4,5,6,7},b[8]={3,5,7,9,11,13,15,19},则输出3、5、7)。用c语言
时间: 2023-08-19 09:03:54 浏览: 157
好的,以下是使用 C 语言实现的代码,可以实现上述功能:
```c
#include <stdio.h>
#define N 20
int main() {
int a[6] = {2, 3, 4, 5, 6, 7};
int b[8] = {3, 5, 7, 9, 11, 13, 15, 19};
int c[N] = {0}; // 标记数组
int i, j;
// 标记数组中,a 和 b 中出现过的元素
for (i = 0; i < 6; i++) {
for (j = 0; j < 8; j++) {
if (a[i] == b[j]) {
c[a[i]] = 1; // 标记为1
break;
}
}
}
// 输出标记数组中,值为1的下标
printf("在两个数组中都出现的元素有:");
for (i = 0; i < N; i++) {
if (c[i] == 1) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
运行结果如下:
```
在两个数组中都出现的元素有:3 5 7
```
相关问题
C语言 求两个数组中相同的元素,输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素
这个问题已经在上一个问题中回答过了,这里再给出一份代码供参考。
```c
#include <stdio.h>
int main() {
int a[6] = {2, 3, 4, 5, 6, 7};
int b[8] = {3, 5, 7, 9, 11, 13, 15, 19};
int i, j;
printf("两个数组中相同的元素有:");
for (i = 0; i < 6; i++) {
for (j = 0; j < 8; j++) {
if (a[i] == b[j]) {
printf("%d ", a[i]);
break;
}
}
}
return 0;
}
```
输出结果为:两个数组中相同的元素有:3 5 7
输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素用c语言编写
以下是一种可能的实现方式:
```
#include <stdio.h>
int main() {
int array1[6] = {1, 2, 3, 4, 5, 6};
int array2[8] = {2, 4, 6, 8, 10, 12, 14, 16};
int i, j;
printf("Common elements: ");
for (i = 0; i < 6; i++) {
for (j = 0; j < 8; j++) {
if (array1[i] == array2[j]) {
printf("%d ", array1[i]);
break;
}
}
}
printf("\n");
return 0;
}
```
这段代码定义了两个数组 `array1` 和 `array2`,然后使用两个嵌套的循环遍历这两个数组,找出在两个数组中都出现的元素并打印出来。具体来说,对于数组 `array1` 中的每一个元素,都在数组 `array2` 中查找是否存在相同的元素,如果存在则打印出来。为了避免重复输出相同的元素,内部循环使用 `break` 语句跳出循环。最终输出的就是两个数组中都出现的元素。
阅读全文