摘要: 输入一个十进制整数,数据范围要求在0~65535(无符号短整型),要求将这个整数的二进制数的最后一位变成0(如果这个整数的最后一位已经是0,就不用变了)。 1 #include 2 #include 3 using namespace std; 4 void f(unsigned short int m) 5 { 6 int i; 7 int g[100]={0}; 8 int t=0; 9 while(m!=0)10 {11 int x=m%2;12 g[t++]=x;13 m=m/2;14 }1... 阅读全文
posted @ 2013-08-17 17:18 狂盗一枝梅 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 金牌、银牌、铜牌Time Limit: 1000MS Memory limit: 65536K题目描述Acm——大学中四大竞赛之首——是极具挑战性的大学生竞赛形式。在一场acm比赛中,一个参赛队伍由三人组合而成,在最短的时间内做出尽可能多的题目而且要尽量少提交错误代码,这样才能得到更高的排名。现在让我们模拟一次不正规的acm比赛,假设在比赛开始后30分钟(这时已经有不少同学提交了代码,在rating中已经出现),到比赛结束前,又有新的同学提交(在rating中出现),同时rating在不断变化着,还有一些同学因为一些原因中途退出比赛(这时rating中自动删除,当然在正式比赛中不会有这种情况) 阅读全文
posted @ 2013-08-17 15:48 狂盗一枝梅 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 双向链表Time Limit: 1000MS Memory limit: 65536K题目描述学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但从B却不能找到A。一个简单的想法便能轻易解决这个问题——建立双向链表。在双向链表中,A有一个指针指向了节点B,同时,B又有一个指向A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对于给定的一列数据,按照给定的顺序建立双向 阅读全文
posted @ 2013-08-17 15:47 狂盗一枝梅 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 不敢死队问题Time Limit: 1000MS Memory limit: 65536K题目描述说到“敢死队”,大家不要以为我来介绍电影了,因为数据结构里真有这么道程序设计题目,原题如下:有M个敢死队员要炸掉敌人的一个碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。这题本来就叫“敢死队”。“ 阅读全文
posted @ 2013-08-17 15:45 狂盗一枝梅 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫问题Time Limit: 1000MS Memory limit: 65536K题目描述n个人想玩残酷的死亡游戏,游戏规则如下:n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。输入输入n和m值。输出输出胜利者的编号。示例输入5 3示例输出4提示第一轮:3被杀第二轮:1被杀第三轮:5被杀第四轮:2被杀 1 #include 2 #include 3 struct vode 4 { 5 int date; 6 struct vode *next; 7 }; 8 int mai... 阅读全文
posted @ 2013-08-17 15:44 狂盗一枝梅 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 整理音乐Time Limit: 1000MS Memory limit: 65536K题目描述请用链表完成下面题目要求。xiaobai很喜欢音乐,几年来一直在收集好听的专辑。他有个习惯,每次在听完一首音乐后会给这首音乐打分,而且会隔一段时间给打好分的音乐排一个名次。今天xiaobai打开自己的音乐文件夹,发现有很多不同时期打过分的排好序的子音乐文件夹,他想把这些音乐放到一块,组成一个分数有序的序列。由于音乐文件很多,而文件里音乐的数目也是不确定的,怎么帮帮xiaobai完成这件工作呢?输入输入数据第一行为一个整数n(n 2 #include 3 #include 4 struct vode 5 阅读全文
posted @ 2013-08-17 15:43 狂盗一枝梅 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 数据结构实验之链表四:有序链表的归并Time Limit: 1000MS Memory limit: 65536K题目描述分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。输入第一行输入M与N的值;第二行依次输入M个有序的整数;第三行依次输入N个有序的整数。输出输出合并后的单链表所包含的M+N个有序的整数。示例输入6 51 23 26 45 66 9914 21 28 50 100示例输出1 14 21 23 26 28 45 50 66 99 100 1 #include 2 #include 阅读全文
posted @ 2013-08-17 15:39 狂盗一枝梅 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 数据结构实验之链表五:单链表的拆分Time Limit: 1000MS Memory limit: 65536K题目描述输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。输入第一行输入整数N;;第二行依次输入N个整数。输出第一行分别输出偶数链表与奇数链表的元素个数;第二行依次输出偶数子链表的所有数据;第三行依次输出奇数子链表的所有数据。示例输入101 3 22 8 15 999 9 44 6 1001示例输出4 622 8 44 6 1 3 15 999 9 1001 1 #inclu 阅读全文
posted @ 2013-08-17 15:38 狂盗一枝梅 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 数据结构实验之链表六:有序链表的建立Time Limit: 1000MS Memory limit: 65536K题目描述输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。输入第一行输入整数个数N;第二行输入N个无序的整数。输出依次输出有序链表的结点值。示例输入633 6 22 9 44 5示例输出5 6 9 22 33 44提示不得使用数组! 1 #include 2 #include 3 struct vode 4 { 5 int date; 6 struct vode *next; 7 }; 8 int main() 9 {10 ... 阅读全文
posted @ 2013-08-17 15:37 狂盗一枝梅 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 数据结构实验之链表七:单链表中重复元素的删除Time Limit: 1000MS Memory limit: 65536K题目描述按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。输入第一行输入元素个数n;第二行输入n个整数。输出第一行输出初始链表元素个数;第二行输出按照逆位序所建立的初始链表;第三行输出删除重复元素后的单链表元素个数;第四行输出删除重复元素后的单链表。示例输入1021 30 14 55 32 63 11 30 55 30示例输出1030 55 30 11 63 32 55 14 30 21730 55 11 63 阅读全文
posted @ 2013-08-17 15:35 狂盗一枝梅 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 数据结构上机测试1:顺序表的应用Time Limit: 1000MS Memory limit: 65536K题目描述在长度为n(n 2 #include 3 struct vode 4 { 5 int date; 6 struct vode *next; 7 }; 8 int main() 9 {10 struct vode *head,*tail,*p,*p1,*q;11 head=(struct vode *)malloc(sizeof(struct vode ));12 head->next=NULL;13 tail=head;14 int n;15 ... 阅读全文
posted @ 2013-08-17 15:33 狂盗一枝梅 阅读(451) 评论(0) 推荐(0) 编辑