填空:从键盘输入任意一个学生的学号,查找该学号是否存在,存在打印其学号,否则打印没找到。

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:54:38
从键盘输入任意一个学生的学号,查找该学号是否存在,存在打印其学号,否则打印没找到。(注:学号是按升序排列的,班级最多30人)
#include <stdio.h>
#define ARR_SIZE 30

void Input(long num[], int n );
int Binsearch( long a[ ], int n, long x );

main()
{
long num[ARR_SIZE], x;
int n, pos;

printf("输入班级实际人数:");
scanf("%d", &n);
Input(num, n);
printf("输入待查找学号:");
scanf("%ld", &x );
pos = Binsearch(num, n, x);
if(pos + 1)
printf("NUM=%ld\n ", num[ pos ] );
else
printf(" Not find!\n ");
}

void Input(long num[], int n )
{
int i;

for(i=0; i<n; i++)
{
scanf("%ld", &num[i]);
}
}

int Binsearch( long a[ ], int n, long x )
{
int low, high, mid;

low = 0;
high = ;

do
{
mid = ( low + high ) / 2

#include <stdio.h>
#define ARR_SIZE 30

void Input(long num[], int n );
int Binsearch( long a[ ], int n, long x );

void main()
{
long num[ARR_SIZE], x;
int n, pos;

printf("输入班级实际人数:");
scanf("%d", &n);
Input(num, n);
printf("输入待查找学号:");
scanf("%ld", &x );
pos = Binsearch(num, n, x);
if(pos + 1)
printf("NUM=%ld\n ", num[ pos ] );
else
printf(" Not find!\n ");
}

void Input(long num[], int n )
{
int i;

for(i=0; i<n; i++)
{
scanf("%ld", &num[i]);
}
}

int Binsearch( long a[ ], int n, long x )
{
int low, high, mid;

low = 0;
high = n-1;
do
{
mid = ( low + high ) / 2;
if(x>mid)
low = mid + 1;
else if (x<mid)