用冒泡排序法对5个数进行升序排序并存入数组中。然后输入1个数,查找该数是否在数组中,若在,打印出该数在数组中对应的下标值。

我把前半部分已经打出来了,但是我不会打出他的组标。也就是他的后半句。

img

参考如下:

#include<stdio.h>

void sort(int a[],int n)
{
    int i,j,t,noswap;
    for(i=0;i< n-1; i++)
    {
        noswap=1;
        for(j=n-1;j>i;j--)
            if(a[j-1]>a[j])
            {
                t=a[j-1];
                a[j-1]=a[j];
                a[j]=t;
                noswap=0;
            }
        if(noswap)    
            break;
    }
}

int main() 
{
     
    int n;
    printf("Input n:");
    scanf("%d", &n);
     
    printf("Input %d numbers:", n);

    int a[n];
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }

    sort(a, n);

    printf("Sorting results:");
    for (int i = 0; i < n; i++) 
    {
        printf("%d ", a[i]);
    }

    int m;
    printf("\nInput m:");
    scanf("%d", &m);

    int index = -1;
    for (int i = 0; i < n; i++) {
        if (a[i] == m) 
        {
            index = i;
            break;
        }
    }

    if (index != -1) {
        printf("下标:%d\n", index);
    }

    return 0;
}

如有帮助,欢迎点赞+采纳哈!

1、你可以遍历数组,然后每个匹配以下,匹配到值break结束循环,将当前循环到的下标值赋值定义的整型A变量里,然后输出A即可

走个循环判断是不是相等