设x是一整数,集合(数组)B中有不超过100个元素的整数。编写函数实现x∈B的集合运算,若x在集合B中则返回x在集合中的位置,否则x不在B返回-1;
函数接口定义:
在这里描述函数接口。例如: int IsIn(int x, int *B, int size );
接口中的参数 x
,B
和 size
都是用户传入的参数。x
是要检验的 元素,B
是指针,指向了存放集合的数组; size
是集合中的元素数。
裁判测试程序样例:
在测试时调用IsIn()函数的样例程序如下:
#include<stdio.h> /* 你编写的函数放在这里 */
void read(int *B,int size) {
int i;
for(i=0;i<size;i++)
scanf("%d",&B[i]); }
int main() {
int a[100]; int m,n,x;
scanf("%d",&n);
read(a,n); scanf("%d",&m);
for(int i=0;i<m;i++) {
scanf("%d",&x);
printf("%5d",IsIn(x,a,n)); }
return 0; }
输入样例:
在这里输入3行数据,第一行1个数n表示集合中的元素个数,第二行n个数表示集合中的每个元素,元素之间用空格分开,第三行中第一个数表示要查找的x的个数m,随后的m个数是要查找的元素,例如:
6
1 2 7 6 3 5
3 8 6 2
输出样例:
查找结果输出,占一行,每个数表示要查找的相应元素在集合中的位置,如果输出-1,则表示该元素不在集合中。
-1 3 1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int IsIn(int x, int *B, int size ){
for(int i=0;i<size;i++) //i小于的是集合中元素的个数
{
if(x==B[i]){
return i;
}
}
return -1;
}