C语言定义一个函数,在一组整数中找到大于或等于一个指定数的所有数的顺序号,并把这些顺序号返回给主调函数。

定义一个函数,在一组整数中找到大于或等于一个指定数的所有数的顺序号,并把这些顺序号返回给主调函数。然后,编写一个程序,利用该函数从下面的学生成绩表中根据总分查找学生学号。

img

定义一个整数数组,函数参数为整数数组和指定的数,再加一个返回参数,记录顺序号。你这顺序号是指数组下标,还是这个学号?

#include <stdio.h>
void find(int a[],int n,int b[],int *m,int val)
{
    *m = 0;
    for(int i=0;i<n;i++)
    {
        if(a[i] >= val)
        {
            b[*m] = i;
            (*m)++;
        }
    }
}

int main()
{
    int n,m=0,val;
    int id[1000],score[1000],high[1000];
    printf("输入学生人数:");
    scanf("%d",&n);
    printf("输入各个学生的学号和总分:\n");
    for(int i=0;i<n;i++)
        scanf("%d %d",&id[i],&score[i]);
    printf("输入要查找的总分:");
    scanf("%d",&val);
    find(score,n,high,&m,val);
    for(int i=0;i<m;i++)
        printf("%d ",id[high[i]]);
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632