| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1349 人关注过本帖, 1 人收藏
标题:后天就交作业了,请大家帮帮MM
只看楼主 加入收藏
wangyitang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-6-21
收藏(1)
 问题点数:0 回复次数:9 
后天就交作业了,请大家帮帮MM

用C语言编写几个函数(1)输入N 个职工的姓名和职工号(2)按职工号由小到大顺序排序,姓名顺序也随之调整(3)要输入一个职工号用折半查找方法找出该职工的姓名从主程序输入要查找的职工姓名。

哪位高手大哥帮帮忙,偶快急死了

谢谢!!!

搜索更多相关主题的帖子: 作业 
2004-06-21 20:44
wangyitang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-6-21
收藏
得分:0 
谁有主意快帮帮我好吗

2004-06-21 20:45
jiely
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2004-5-15
收藏
得分:0 
还是希望你自己动手写写,大家可以帮你修改程序!~~~~~~~~~

我的爱好:C和数据库!正在学VC++ 我的QQ:345895839,有共同爱好的加我!期待着与你共同进步!
2004-06-21 23:09
hu_sir
Rank: 1
等 级:新手上路
帖 子:208
专家分:0
注 册:2004-4-29
收藏
得分:0 
同意Jiely的看法!!!!
2004-06-22 08:34
wangyitang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-6-21
收藏
得分:0 

切人家就是不会才叫你们帮忙的

你们却叫我自己写


2004-06-23 19:37
wangcheng
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-6-22
收藏
得分:0 
就是吗,会就要帮人家吗

我是一个初学者
2004-06-24 08:54
lihuaiqiang
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2004-5-9
收藏
得分:0 
看看折半查找的算法就可以写的差不多了
2004-06-24 11:25
wangyitang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-6-21
收藏
得分:0 
那就谢谢大哥帮我写啊

2004-06-25 20:50
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

#include <stdio.h> struct zhigong { char name[10]; int gonghao; };

void paixu(struct zhigong str[]);

void main() { int i; struct zhigong str[5]; for(i=0;i<5;i++) { printf("请输入职工姓名:"); scanf("%s",str[i].name); printf("请输入职工工号:"); scanf("%d",&str[i].gonghao); printf("\n"); } paixu(str); }

void paixu(struct zhigong str[]) { int temp; int i,j; for(i=0;i<4;i++) { for(j=1;j<5;j++) { if(str[i].gonghao>str[j].gonghao) { temp=str[j].gonghao; str[j].gonghao=str[i].gonghao; str[i].gonghao=temp; } } } for(i=0;i<5;i++) { printf("姓名:%s\t工号:%d\n",str[i].name,str[i].gonghao); } }

以上为我编写的前二个部分,但是出了问题,就是我按工号排序时(我只会用冒泡排序法),既然不成功,我想了一下,是不是因为"str[i].gonghao"这个变量不是整形的变量,所以不成功啊,因为我定义的是一个结构体,所以他是"struct zhigong"这个类型的变量了,如果我要给结构体的变量排序,应该用什么方法啊.谢谢大家请告之,第三部分还不会.


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-25 22:13
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

不对!!!我们只说i=1&&j=2和i=2&&,j=1的情况!!在i=1,j=2时你的判断原结构数组的

str[1].gonghao>str[2].gonghao,如果成立互换,而在i=2,j=1时你的判断又是:

str[2].gonghao>str[1].gonghao,如果第一个成立,则第二个也成立,不成立都不成立,

这样你两次换又换回去了不是么???

你用0,1,2,3,4看一看,我里面的一个循环应该是for(j=i+1;j<5;j++)这样才对,

因为一次i的循环已经保证前面的一个一定是最小的了,你下面的循环就不用再用后面的和它比了!!

而且你的职工名称怎么换???

用字符串strcopy()函数??

这样的问题应该用链的,而不是数组,因为如果是几百,几千个员工怎么办,用多少次循环???!!!


差点把你忘了...
2004-06-26 09:34
快速回复:后天就交作业了,请大家帮帮MM
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030437 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved