C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..

2024-12-26 16:47:52
推荐回答(2个)
回答1:

#include 
#define N 10
void main()

int a[N],y,k,flag;
int b[N];      //保存元素的下标
printf("shu ru y zhi: ");
scanf("%d",&y);
printf("shu ru shu zu: \n");
k=0;
do{
scanf("%d",&a[k]);
k++;
}while(k
flag=0;
k=0;
while (k
if(a[k]==y)
{
b[flag++] = k; //  在这里保存下标
}
k++;
}
if(flag==0)
printf("zhi wei %d de yuan su bu cun zai\n",y);
else
{
printf("存在%d个元素,下标为:",flag);
for(int i=0; i {
printf("%d ",b[i]);
}
}
}

回答2:

while (k {
if(a[k]!=y)k++;
else
{
printf("下标值为%d",k);
flag++;
k++;
}
}
if(flag==0)printf("zhi wei %d de yuan su bu cun zai\n",y);
}
我觉得这个程序应该是这样,并不需要把下标值保存起来,遇到了输出即可