用C语言写代码比较两组整数是否有相同的元素,每组整数个数不超过100。若有相同的元素,则按照由大到小的顺序输出相同的元素(重复出现的元素只输出一个)。如果没有相同元素,打印字符串:No Answer。
时间: 2024-05-14 11:15:16 浏览: 108
C语言中判断两数组中是否有相同的元素
```c
#include <stdio.h>
int cmp(const void* a, const void* b) {
return *(int*)b - *(int*)a;
}
int main() {
int n, m;
int a[100], b[100];
int ans[100], ansCnt = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%d", &b[i]);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i] == b[j]) {
ans[ansCnt++] = a[i];
}
}
}
if (ansCnt == 0) {
printf("No Answer\n");
} else {
qsort(ans, ansCnt, sizeof(ans[0]), cmp);
printf("%d", ans[0]);
for (int i = 1; i < ansCnt; i++) {
if (ans[i] != ans[i - 1]) {
printf(" %d", ans[i]);
}
}
printf("\n");
}
return 0;
}
```
阅读全文