|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
struct person
{
int number;
char name[20];
};
int main()
{
struct person staff[10],*p=staff;
void max(struct person staff[]);
void xuan(struct person staff[],int n);
int c;
for(c=0;c<10;c++)
{
printf("请输入他的职工号\n");
scanf("%d",&staff[c].number);
printf("请输入他的姓名\n");
scanf("%s",staff[c].name);
}
max(p);
}
max(struct person staff[])
{
int i,j,k,n,q;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(staff[i].number>staff[i+1].number)
{
q=staff[i].number;
staff[i].number=staff[i+1].number;
staff[i+1].number=q;
}
}
for(k=0;k<10;k++)
printf("%d %s\n",&staff[k].number,staff[k].name);
scanf("%d",&n);
xuan(p,n);
}
xuan(struct person staff[],int h)
{
int mid,high,low,g;
high=9;low=0;
while(high>=low)
{
mid=(low+high)/2;
if(staff[mid].number==h)
{
g=1;
break;
}
if(staff[mid].number>h)
high=mid-1;
if(staff[mid].number<h)
low=mid+1;
if(low>high)
{
g=0;
break;
}
}
if(g==1)
printf("%d %s ",&staff[mid].number,staff[mid].name);
if(g==0)
printf("无效数字,请重新输入!");
getchar();
scanf("%d",&h);
xuan(p,h);
}
c语言,想用结构体变量数组输入十个职员职工号和姓名,再用起泡法排序,再输入一个职工号,再用二分法选取,在输出,如没找到,再重新输入。
|
|