鱼C论坛

 找回密码
 立即注册
查看: 1947|回复: 2

c语言,想用结构体变量数组输入十个职员职工号和姓名,再用起泡法排序

[复制链接]
发表于 2020-10-26 17:12:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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语言,想用结构体变量数组输入十个职员职工号和姓名,再用起泡法排序,再输入一个职工号,再用二分法选取,在输出,如没找到,再重新输入。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-26 17:12:58 | 显示全部楼层
出现了好多问题,error C2371: 'max' : redefinition; different basic types
        D:\123\5\5.c(10) : see declaration of 'max'
D:\123\5\5.c(37) : error C2065: 'n' : undeclared identifier
D:\123\5\5.c(38) : error C2065: 'p' : undeclared identifier
D:\123\5\5.c(38) : warning C4047: 'function' : 'struct person *' differs in levels of indirection from 'int '
D:\123\5\5.c(38) : warning C4024: 'xuan' : different types for formal and actual parameter 1
D:\123\5\5.c(41) : error C2371: 'xuan' : redefinition; different basic types
        D:\123\5\5.c(11) : see declaration of 'xuan'
执行 cl.exe 时出错.

5.exe - 1 error(s), 0 warning(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 19:15:24 | 显示全部楼层
已经知道;谢谢大家了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 00:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表