在这段代码中,如果我必须找到一个元素'7',它指向array = 2的位置, 但是如何得到多个位置,如果数组有[4,7,7,8,9]那么答案应该将位置指向array = 1&阵列= 2 ..
#include<stdio.h>
int main()
{
int i;
int a[5]={4,5,7,8,9};
int ele,temp=0,pos=0;
printf("Enter the element to be search\n");
scanf("%d",&ele);
// searching for the element
for (i=0; i<5; i++)
{
a[i]=a[i];
if (a[i]==ele)
{
temp=1;
pos=i;
}
}
if (temp==1)
printf("Element found %d , position==%d,",ele,pos);
else
printf("Element not found\n");
}
答案 0 :(得分:1)
试试这个..
#include<stdio.h>
int main()
{
int i;
int a[5]={4,5,7,8,9};
int found_indices[5]; // array used to store indices of found entries..
int count = 0; //n entries found;
int ele;
printf("Enter the element to be search\n");
scanf("%d",&ele);
// searching for the element
for (i=0; i<5; i++)
{
//a[i]=a[i];
if (a[i]==ele)
{
found_indices[count ++] = i; // storing the index of found entry
}
}
if (count!=0) {
for (i=0; i<count; i++)
printf("Element found %d , position==%d,", ele, found_indices[i]);
}
else
printf("Element not found\n");
}
答案 1 :(得分:0)
你的pos变量只是一个整数,而不是一个数组,所以它只存储一个值。相反,使它成为一个数组,然后将每个已创建结果的值存储到pos数组中。