求集合A和集合B的交集,即所有同时在集合A和集合B中的元素。已知数组a存放集合A的...
求集合A和集合B的交集,即所有同时在集合A和集合B中的元素。已知数组a存放集合A的元素,共10个整数:{1,3,5,7,9,11,13,15,17,19}
编程完成: 输入整数k(1<=k<=10),表示集合B元素的个数;输入集合B的各元素,集合元素各不相同;求集合A和集合B的交集C,输出交集C中的各个元素。
pta平台说我的答案部分正确,为什么?
#include<stdio.h>
#include<math.h>
int main()
{
int a={1,3,5,7,9,11,13,15,17,19};
int b,i,j,k;
scanf("%d",&k);
for(i=0;i<k;i++)
scanf("%d",&b);
int c;
int c_ptr=0;
for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {if(a==b) c = a;}}
for(int i=0;i<c_ptr;i++) printf("%d ",c);
system("pause");
return 0;
}
#include <stdio.h>
int main()
{
int A = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int B = {0}, C = {0}, k;
scanf("%d", &k);
for(size_t i = 0, n = 0; i < 10; i++){
scanf("%d", &B);
for(size_t j = 0; j < 10; j++){
if(A == B) C = A;
}
}
for(size_t i = 0; C; i++) printf("%d ", C);
return 0;
} 另外一种解法:#include <stdio.h>
int main()
{
int A = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int k, B = {0}, C = {0};
scanf("%d", &k);
for(size_t i = 0, n = 0; i < 10; i++){
scanf("%d", &B);
if(B%2 && B < 20) C = B;
}
for(size_t i = 0; C; i++) printf("%d ", C);
return 0;
}
页:
[1]