定义一个函数,在一组整数中找到大于或等于一个指定数的所有数的顺序号,并把这些顺序号返回给主调函数。然后,编写一个程序,利用该函数从下面的学生成绩表中根据总分查找学生学号。
定义一个整数数组,函数参数为整数数组和指定的数,再加一个返回参数,记录顺序号。你这顺序号是指数组下标,还是这个学号?
#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;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!