给一组数查找给定整数,并输出它在这组数第几个,从零开始数,用数组但是却是从一开始数

#include
int main()
{
int N,x,i;//N是输入的数的个数,要找的数,i是变量
int a[N];//定义一组数,有N-1个数
scanf("%d %d",&N,&x);
scanf("%d",&a[N]);
for(i=0;i{
if(a[i]==x)//如果这一项的数就是要找到数就停止循环
break;
}
printf("%d",i);//输出这个数是这组里第几项,和i一样从零开始数
return 0;
}
//但是输出时却不是跟i变量一样从零开始数,还是从一开始数,为什么😢

这就是输出这个数的位置呀,for循环结束后找到这个数后i还会加1,所以你输出的时候应该是i-1
printf("%d", i-1);
有帮助的话采纳一下哦!

修改如下,供参考:

#include<stdio.h>
#define N 100
int main()
{
    int  n, x, i;//n是输入的数的个数,x要找的数,i是变量
    int a[N];    //定义一组数,有N-1个数
    scanf("%d %d", &n, &x);
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]);
    for (i = 0; i < n; i++)
    {
        if (a[i] == x)//如果这一项的数就是要找到数就停止循环
            break;
    }
    if (i == n)
        printf("No Found");
    else
        printf("%d", i);//输出这个数是这组里第几项,和i一样从零开始数
    return 0;
}