首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

高分求一些c++的小题目,涉及实际应用的那种,锻炼自己,该怎么解决

2012-04-17 
高分求一些c++的小题目,涉及实际应用的那种,锻炼自己我是个新手,现在每天也没什么事。不知在哪里可以找到一

高分求一些c++的小题目,涉及实际应用的那种,锻炼自己
我是个新手,现在每天也没什么事。不知在哪里可以找到一些小题目搞一下,工程量不大的,可以一个人完成的,控制台的,涉及实际生活,实际应用的那种。
比如做一个双色球模拟程序啊,24点啊什么的。说白了就是稍微需要点算法研究的,又能提高写程序的能力的。
单纯的学知识点很枯燥的,在实际开发中,学习相应需要用到的知识点我想效果更好。

[解决办法]
去找些面试题做一下吧,找工作的时候有用。
一举N得。
[解决办法]
可以做一些windows下的经典开发
计算器啊
记事本啊
考勤系统啊
[解决办法]
建议你去练习一下ACM算法。或者做一个24点的小游戏
[解决办法]
google 找那些笔试题目吧,以及一些常用的算法,或者 就直接自己模仿写 stl 里的那些,
[解决办法]
http://acm.hdu.edu.cn/listproblem.php?vol=1
[解决办法]
赶紧工作吧,做一个开发就好了
[解决办法]
对,去做acm的题吧,很多都是有算法的。
或者做一些棋牌类的游戏之类来提高吧
[解决办法]
去,ZOJ,POJ上做一些题吧!上面的资源很不错!
[解决办法]
成全你了! 用C++ 实现下面的问题吧!

1)有3个人去投宿,
一晚30元.
三个人每人掏了10元凑够30元交给了老板.
后来老板说今天优惠只要25元就够了,
拿出5元命令服务生退还给他们,
服务生偷偷藏起了2元,
然后,
把剩下的3元钱分给了那三个人,
每人分到1元.
这样,
一开始每人掏了10元,
现在又退回1元,
也就是10-1=9,
每人只花了9元钱,
3个人每人9元,
3 X 9 = 27元 + 服务生藏起的2元=29元,
还有一元钱去了哪里???
此题在新西兰面试的时候曾引起巨大反响.
有谁知道答案呢?



(2).有个人去买葱
问葱多少钱一斤
卖葱的人说 1块钱1斤 这是100斤 要完100元
买葱的人又问 葱白跟葱绿分开卖不
卖葱的人说 卖 葱白7毛 葱绿3毛
买葱的人都买下了
称了称葱白50斤 葱绿50斤
最后一算葱白50*7等于35元
葱绿50*3等于15元
35+15等于50元
买葱的人给了卖葱的人50元就走了
而卖葱的人却纳闷了
为什么明明要卖100元的葱
而那个买葱的人为什么50元就买走了呢?
你说这是为什么?
好好想想 把答案留下



(3).有口井 7米深
有个蜗牛从井底往上爬
白天爬3米 晚上往下坠2米
问蜗牛几天能从井里爬出来?
想好答案留言
(4).一毛钱一个桃
三个桃胡换一个桃
你拿1块钱能吃几个桃?
想明白了留言,把你吃桃的方法写明白 ~

(5)有十二个乒乓球形状、大小相同,其中只有一个重量与其它十一个不同,现在要求用一部没有砝码的天秤称三次,将那个重量异常的球找出来,并且知道它比其它十一个球较重还是较轻。
(6)一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?



(7)话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子!大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先.

晚上某个家伙悄悄的起床,悄悄的将椰子分成5份,结果发现多一个椰子,顺手就给了幸运的猴子,然后又悄悄的藏了一份,然后把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了.

过了会儿,另一个家伙也悄悄的起床,悄悄的将剩下的椰子分成5份,结果发现多一个椰子,顺手就又给了幸运的猴子,然后又悄悄滴藏了一份,把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了.

又过了一会 ......

又过了一会 ...

总之5个家伙都起床过,都做了一样的事情。早上大家都起床,各自心怀鬼胎的分椰子了,这个猴子还真不是一般的幸运,因为这次把椰子分成5分后居然还是多一个椰子,只好又给它了.问题来了,这堆椰子最少有多少个?




(8)某个岛上有座宝藏,你看到大中小三个岛民,你知道大岛民知道宝藏在山上还是山下,但他有时说真话有时说假话,只有中岛民知道大岛民是在说真话还是说假话,但中岛民自己在前个人说真话的时候才说真话,前个人说假话的时候就说假话,这两个岛民用举左或右手的方式表示是否,但你不知道哪只手表示是,哪只手表示否,只有小岛民知道中岛民说的是真还是假,他用语言表达是否,他也知道左右手表达的意思。但他永远说真话或永远说假话,你也不知道他是这两种类型的哪一种,你能否用最少的问题问出宝藏在山上还是山下?(提示:如果你问小岛民宝藏在哪,他会反问你怎么才能知道宝藏在哪?等于白问一句)




(9)说一个屋里有多个桌子,有多个人?

如果3个人一桌,多2个人。

如果5个人一桌,多4个人。

如果7个人一桌,多6个人。

如果9个人一桌,多8个人。

如果11个人一桌,正好。

请问这屋里多少人




(10)有人想买几套餐具,到餐具店看了后,发现自己带的钱可以买21把叉子和21把勺子,或者28把小刀。如果他买的叉子,勺子,小刀数量不统一,就无法配成套,所以他必须买同样多的叉子,勺子,小刀,并且正好将身上的钱用完。如果你是这个人,你该怎么办?
(11)一个小偷被警查发现 
警查就追小偷,小偷就跑
跑着着跑着,前面出现条河
这河宽12米,河在小偷和警查这面有颗树
树高12米,树上叶子都光了
小偷围着个围脖长6米
问小偷如何过河跑????
[解决办法]
ACM。
算法过多呀。
感觉对软件工程。
需求到是小很多。
[解决办法]
图书管理系统,里面包含快速、堆等排序算法的实现,先做DOS的,再做有窗体的,肯定会有收获。

[解决办法]
做一些比较经典的程序也行啊
[解决办法]
建议去看看ACE,好好领会里面的例子。一遍下来c++ ,设计模式,和网络知识能入门了。
[解决办法]
10楼的题目挺个性……
[解决办法]
做面试题挺好的
[解决办法]
以我的时间经验来看,做面试题和做poj的题都是好主意。对找工作,提高能力均有很大的帮助。
附:
http://acm.pku.edu.cn/JudgeOnline/

[解决办法]
在百度上搜源代码,学习,写源代码,进步好快的
[解决办法]
不知道楼主对驱动有不有兴趣?
有请留言
[解决办法]
嗯,可以搞搞计算器

探讨
可以做一些windows下的经典开发
计算器啊
记事本啊
考勤系统啊

[解决办法]
最少钱币数:
【问题描述】
这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑 15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。
你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。

【要求】
【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M(1 <= M <= 2000,整数),接着的一行中,第一个整数K(1 <= K <= 10)表示币种个数,随后是K个互不相同的钱币面值Ki(1 <= Ki <= 1000)。输入M=0时结束。

【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。

【样例输入】
15
6 2 5 10 20 50 100
1
1 2
0

【样例输出】
2
Impossible


 
Feli 的生日礼物
【问题描述】
Felicia 的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的“Kitty猫”玩具准备送给 Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。 Kitty说,“Kitty猫”玩具已经卖出了n!个,n<=10^100 *_*,Kitty想知道确切的数字,而不是无聊的“一个数加个感叹号”。 Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20 时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真“Hello Kitty”宠物(善解人意,无须喂养,智商1101,附带写情书功能)。

【要求】
【数据输入】每行一个n,直到输入数据结束

【数据输出】对应输入的n,每行输出一个答案

【样例输入】
1101

【样例输出】
8


 
蛇行矩阵
【问题描述】
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

【要求】
【数据输入】本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

【数据输出】对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

【样例输入】
5

【样例输出】
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11

 
青蛙的约会
【问题描述】
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。 
我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。 


【要求】
【数据输入】输入只包括一行5个整数x,y,m,n,L,其中x≠y < 2000000000,0 < m、n < 2000000000,0 < L < 2100000000。

【数据输出】输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行"Impossible"

【样例输入】
1 2 3 4 5

【样例输出】
4

 
敲七
【问题描述】
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)

【要求】
【数据输入】一个整数N。(N不大于30000)

【数据输出】从小到大排列的不大于N的与7有关的数字,每行一个。

【样例输入】
20

【样例输出】
7
14
17

 
连续邮资问题
【问题描述】
G国发行了n种不同面值的邮票,并且规定每张信封上最多只允许贴m张邮票。连续邮资问题要求对于给定的n和m的值,给出邮票面值的最佳设计,使得可在1张信封上贴出从邮资1开始,增量为1的最大连续邮资区间。例如,当n=5和m=4时,面值为(1,3,11,15,32)的5种邮票可以贴出邮资的最大连续邮资区间是1到70。编程任务: 对于给定的正整数m和n,计算出邮票面值的最佳设计。 


【要求】
【数据输入】输入数据每一行给出2个正整数m和n的值(1<=n,m<=9),最后以0 0 表示文件结束。 

【数据输出】对于输以假定(ai, aj) = 1.
输出包含一个正整数,即为Andy家至少养猪的数目。

【样例输入】
3
3 1
5 1
7 2

【样例输出】
16


 
kitty猫的基因编码
【问题描述】
kitty 的基因编码如下定义: kitty的基因由一串长度2^k(k<=8)的01序列构成,为了方便研究,需要把,01序列转换为ABC编码。用T(s)来表示01序列s的 ABC编码 T(s)=‘A'(当S全由'0'组成) T(s)=‘B'(当s全由'1'组成) T(s)=‘C'+T(s1)+T(s2) s1,s2为把s等分为2个长度相等的子串 比如 T('00')='A' T('00001111')='CAB'

【要求】
【数据输入】一行,长度为2^k,为kitty猫的01基因编码,有多个数据

【数据输出】一行,由ABC构成的ABC编码

【样例输出】
01001011

【样例输出】
CCCABACCBAB

 
取石子游戏
【问题描述】
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。

【要求】
【数据输入】输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。

【数据输出】输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。

【样例输入】
2 1
8 4
4 7

【样例输出】
0
1
0
 
勇气的挑战
【问题描述】
给定n个点的坐标(x,y,z),且n<=50,从点1出发,怎么样才能走一条路径,访问每个点一次且仅一次,使走过的距离和最小?

【要求】
【数据输入】多组数据. 第1行n,然后n行3个整数坐标

【数据输出】每组一行,代表最小权和

【样例输入】
3
0 0 0
1 1 0
1 -1 0

【样例输出】
3.4


 
统计同成绩学生人数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1608 Accepted Submission(s): 877

【问题描述】
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
 
【要求】
【数据输入】测试输入包含若干测试用例,每个测试用例的格式为
第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数
当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
 
【数据输出】对每个测试用例,将获得给定分数的学生人数输出。
 
【样例输出】
3
80 60 90
60
2
85 66
0
5
60 75 90 55 75
75
0

【样例输出】
1
0
2
 
钱币兑换问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 494 Accepted Submission(s): 247

【问题描述】
在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。
 
【要求】
【数据输入】每行只有一个正整数N,N小于32768。
 
【数据输出】对应每个输入,输出兑换方法数。
 
【样例输入】
2934
12553

【样例输出】
718831
13137761


 
字串数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 405 Accepted Submission(s): 90

【问题描述】
一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".
给定若赶字母和它们相应的个数,计算一共可以组成多少个不同的字符串.
 
【要求】
【数据输入】每组测试数据分两行,第一行为n(1<=n<=26),表示不同字母的个数,第二行为n个数A1,A2,...,An(1<=Ai<=12),表示每种字母的个数.测试数据以n=0为结束.
 
【数据输出】对于每一组测试数据,输出一个m,表示一共有多少种字符串.
 
【样例输入】
2
1 2
3
2 2 2
0

【样例输出】
3
90


 
小希的数表
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 201 Accepted Submission(s): 48

【问题描述】
Gardon 昨天给小希布置了一道作业,即根据一张由不超过5000的N(3<=N<=100)个正整数组成的数表两两相加得到N*(N-1)/2个和,然后再将它们排序。例如,如果数表里含有四个数1,3,4,9,那么正确答案是4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的答案还在,你能帮助她根据她的答案计算出原来的数表么?
 
【要求】
【数据输入】包含多组数据,每组数据以一个N开头,接下来的一行有按照大小顺序排列的N*(N-1)/2个数,是小希完成的答案。文件最后以一个0结束。
假设输入保证解的存在性和唯一性。
 
【数据输出】对于每组数据,输出原来的数表。它们也应当是按照顺序排列的。
 
【样例输入】
4
4 5 7 10 12 13
4
5 6 7 8 9 10
0

【样例输出】
1 3 4 9
2 3 4 6



 
士兵队列训练问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 462 Accepted Submission(s): 185

【问题描述】
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。


 
【要求】
【数据输入】本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。
 
【数据输出】共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。
 
【样例输入】
2
20
40
 
【样例输出】
1 7 19
1 19 37


 
最简单的计算机
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 287 Accepted Submission(s): 192

【问题描述】
一个名叫是PigHeadThree的研究组织设计了一台实验用的计算机,命名为PpMm。PpMm只能执行简单的六种命令A,B,C,D,E,F;只有二个内存M1,M2;三个寄存器R1,R2,R3。六种命令的含义如下:
命令A:将内存M1的数据装到寄存器R1中;
命令B:将内存M2的数据装到寄存器R2中;
命令C:将寄存器R3的数据装到内存M1中;
命令D:将寄存器R3的数据装到内存M2中;
命令E:将寄存器R1中的数据和寄存器R2中的数据相加,结果放到寄存器R3中;
命令F:将寄存器R1中的数据和寄存器R2中的数据相减,结果放到寄存器R3中。
你的任务是:设计一个程序模拟PpMm的运行。
 
【要求】
【数据输入】有若干组,每组有2行,第一行是2个整数,分别表示M1和M2中的初始内容;第二行是一串长度不超过200的由大写字母A到F组成的命令串,命令串的含义如上所述。
 
【数据输出】对应每一组的输入,输出只有一行,二个整数,分别表示M1,M2的内容;其中M1和M2之间用逗号隔开。

其他说明:R1,R2,R3的初始值为0,所有中间结果都在-2^31和2^31之间。
 
【样例输入】
100 288
ABECED
876356 321456
ABECAEDBECAF

【数据输出】
388,388
2717080,1519268


 

热点排行