比较两组整数是否有相同的元素,每组整数个数不超过100。若有相同的元素,则按照由大到小的顺序输出相同的元素(重复出现的元素只输出一个)。如果没有相同元素,打印字符串:No Answer。C语言
时间: 2024-06-10 10:08:18 浏览: 84
我可以帮您实现这个功能,可以使用哈希表或者排序算法来实现。以下是使用哈希表实现的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
void findCommonElements(int arr1[], int len1, int arr2[], int len2)
{
int i, j;
int hash[MAX_LEN] = {0};
for (i = 0; i < len1; i++) {
hash[arr1[i]] = 1;
}
for (j = 0; j < len2; j++) {
if (hash[arr2[j]]) {
printf("%d ", arr2[j]);
hash[arr2[j]] = 0;
}
}
printf("\n");
}
int main()
{
int arr1[MAX_LEN], arr2[MAX_LEN];
int len1, len2;
int i;
printf("请输入第一个数组的长度:");
scanf("%d", &len1);
printf("请输入第一个数组的元素:");
for (i = 0; i < len1; i++) {
scanf("%d", &arr1[i]);
}
printf("请输入第二个数组的长度:");
scanf("%d", &len2);
printf("请输入第二个数组的元素:");
for (i = 0; i < len2; i++) {
scanf("%d", &arr2[i]);
}
printf("相同的元素为:");
findCommonElements(arr1, len1, arr2, len2);
return 0;
}
```
注意:本模型不支持代码执行,仅能提供代码参考,具体实现需要根据实际情况和个人能力进行修改调整。
阅读全文