比较两组整数是否有相同的元素,不考虑元素的顺序,并忽略元素重复的情况,每组元素个数不超过100。例如: 2 5 10 17 10 8 5 10 12 与下列一组整数: 12 8 10 17 5 2 相同。 【输入形式】 首先输入第一组整数的个数,再输入第一组整数,以空格分割;然后输入第二组整数的个数,再输入第二组整数,以空格分割。 【输出形式】 打印两组整数中相同的元素,顺序以第一组的整数输入顺序为准,如果没有相同元素,打印“No Answer” 【输入样例】 9 2 5 10 17 10 8 5 10 12 6 12 8 10 17 5 2 【输出样例】 "#"代表空格 2#5#10#17#8#12# 【样例说明】 输入两组整数 2 5 10 17 10 8 5 10 12 12 8 10 17 5 2 由于这两个数组具有相同的元素,顺序打印第一行与第二行相同的元素设计一个c程序
时间: 2024-01-01 08:05:07 浏览: 82
```c
#include <stdio.h>
#include <string.h>
#define MAX_N 100
int main() {
int n1, n2;
int arr1[MAX_N], arr2[MAX_N];
int cnt = 0;
// 读入第一组整数
scanf("%d", &n1);
for (int i = 0; i < n1; i++) {
scanf("%d", &arr1[i]);
}
// 读入第二组整数
scanf("%d", &n2);
for (int i = 0; i < n2; i++) {
scanf("%d", &arr2[i]);
}
// 检查是否有相同元素
for (int i = 0; i < n1; i++) {
int flag = 0; // 标记该元素是否已经匹配
for (int j = 0; j < n2; j++) {
if (arr1[i] == arr2[j]) {
flag = 1;
break;
}
}
if (flag) {
// 如果该元素在第二组中出现过,则输出
if (cnt > 0) {
printf("#");
}
printf("%d", arr1[i]);
cnt++;
}
}
if (cnt == 0) {
// 如果没有相同元素,则输出"No Answer"
printf("No Answer");
}
return 0;
}
```