使用c语言使得输入第一行一个正整数t,表示有t组数据,每一组第一行一个正整数n,表示序列的长度(序列长度不超过100),每一组第二行和第三行分别为两个序列的元素(序列中每个元素都不超过100),然后输出每一组数据输出两个序列中共同出现的元素(顺序根据数的大小从小到大输出),如果一个共同出现的数都没有,输出0即可。
时间: 2024-02-16 15:00:15 浏览: 79
c语言 输出数组元素
好的,我可以帮你解答这个问题。以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int t, n;
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
int a[100], b[100], c[100];
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
int cnt = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (a[i] == b[j]) {
c[cnt++] = a[i];
break;
}
}
}
if (cnt == 0) {
printf("0\n");
} else {
for (int i = 0; i < cnt; i++) {
printf("%d ", c[i]);
}
printf("\n");
}
}
return 0;
}
```
代码的思路是,首先输入数据组数 `t`,然后对于每一组数据,输入序列长度 `n` 和两个序列的元素,分别存储在数组 `a` 和 `b` 中。接着遍历 `a` 数组中的每个元素,再在 `b` 数组中查找是否存在相同的元素,如果存在就将该元素存储在数组 `c` 中。最后判断数组 `c` 中是否有元素,如果有则从小到大输出,否则输出 0。
希望这个代码能够帮到你!
阅读全文