C语言
mukun060
这个作者很懒,什么都没留下…
展开
-
C语言字符串的比较和Switch
今天做九度1010题,关于字符串和整数的题目时,出现了两个小问题,问题虽小,但是需要引起足够的注意。1、因为题目中需要对应的将"zero","one","two","three".....各个字符串转换为int型的1,2,3...由于数值太多,觉得if麻烦,想起来switch语句的效率高一些,因此写下了如下语句: switch(c){ case "zero":原创 2012-09-26 16:47:09 · 14887 阅读 · 4 评论 -
1522包含min函数的栈
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(1接下来有n行,每行开始有一个字母Ci。Ci=’s’时,接下有一个数字k,代表将k压入栈。Ci=’o’时,弹出栈顶元素。输出:对应每个测试案例中的原创 2013-09-07 23:15:29 · 1135 阅读 · 0 评论 -
1521二叉树的镜像
题目描述:输入一个二叉树,输出其镜像。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。Ci=’l’表示第i个节点有一个左孩子,紧接着是左孩子的编号。Ci=’r’表示第i个节点有一个右孩子,紧接着是右孩子的编号。Ci=’原创 2013-09-06 15:38:53 · 819 阅读 · 0 评论 -
1367判断一个数组是否为二叉排序树的后序遍历结果
今天做九度1367题题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。输入:每个测试案例包括2行:第一行为1个整数n(1第二行包含n个整数,表示这个数组,数组中的数的范围是[0,100000000]。输出:对应每个测试案例,如果输入数组是某二叉搜索树的后序遍原创 2013-05-20 10:57:45 · 2620 阅读 · 0 评论 -
1356孩子们的游戏(圆圈中最后剩下的数)--即约瑟夫环
题目描述:每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为JOBDU的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为1的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续1...m报数....这原创 2013-08-08 15:53:19 · 895 阅读 · 0 评论 -
1508字符串转换成整数
题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。输入:输入可能包含多个测试样例。对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1输出:对应每个测试案例,若输入为一个合法的字符串(即代表一个整数),则输出这个整数。若输入为一个非法的字符串,则输出“My God”。原创 2013-08-07 19:39:02 · 706 阅读 · 0 评论 -
1354和为S的连续正数
题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输入:输入有多原创 2013-08-19 22:39:39 · 659 阅读 · 0 评论 -
1372连续子数组的和
题目描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠原创 2013-08-06 17:54:37 · 676 阅读 · 0 评论 -
2012.6月九度第一题求整数的二进制表示中1的个数
题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。输入:输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。。n保证是int范围内的一个整数。输出:对应每个测试案例,输出一个整数,代表输入的那个数中1的个数。样例输原创 2013-07-26 09:57:18 · 1890 阅读 · 0 评论 -
(动态规划)1042最长公共子序列问题
1042 题目描述:Find a longest common subsequence of two strings.输入:First and second line of each input case contain two strings of lowercase character a…z. There are no spaces before, i原创 2013-06-24 11:18:28 · 823 阅读 · 0 评论 -
二叉树的基本操作
二叉树作为一种非常重要的数据结构,今天对其做简单的回顾1、二叉树的定义[cpp] view plaincopytypedef char ElementType; typedef struct BiTreeNode { ElementType data; struct BiTreeNode* lchi转载 2013-05-13 15:23:53 · 861 阅读 · 0 评论 -
1214迅速地找出丑数
今天做九度1214题:把只包含因子2、3和5的数称作丑数(UglyNumber)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 1、当然最直观的想法就是一个个数的处理,丑数只能被2,3,5整除。这样如果一个数能被2整除,那就连续除以2。如果能被3整除就连续除以3,如果能被5整除就连续除以5。如果最后的结果原创 2013-05-27 16:31:35 · 731 阅读 · 0 评论 -
C语言指针作为形参的一些问题
C语言中指针是个非常麻烦的事件,本人大学学了几年指针,用起来还是丈二和尚,摸不着头脑,特别是在函数中作为参数传递,申请空间什么的,一头雾水,看到这篇文件写的还比较详尽,因此转载存档!!!!!!!!!程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 { s=(char *) malloc(100); } void main() {转载 2013-03-13 15:23:36 · 11520 阅读 · 0 评论 -
float和double的范围和精度
2010-10-28 22:10 float和double的范围和精度float与double的范围和精度1 范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)转载 2012-10-22 20:08:46 · 2427 阅读 · 0 评论 -
两个非递减数组的合并
今天做九度1004题求中间值时,用到了两个非递减数组合并成为一个数组的问题,虽然自己可以动手写,但无奈人太懒,嫌麻烦,因此网上download一个,遂记下来看看。不过以后不能酱紫,这么基本简单的算法。。。。void MergeTwoArray(int *p1, int *p2, int n1, int n2, int *pOut){ int n = n1 + n2; int i =原创 2012-09-25 15:37:23 · 1318 阅读 · 0 评论 -
关于int、long等类型的范围
关于这个类型的范围问题,真的搞得很头痛,每次网上查都是一堆乱七八槽的东西,这样我了,我把范围大致记下来,下次看菜吃饭、量体裁衣。unsigned int 0~4294967295 int 2147483648~2147483647 unsigned long 0~4294967295long 2147483648~2147483647long long的最大原创 2012-10-12 15:22:42 · 1014 阅读 · 0 评论 -
C类型转换
1、今天做九度的1002题,在一个问题上面一直出错,知道后来才发现。例如int类型a=13,b=14,求两个数的平均数,要求保留一位小数。我把average定义为浮点数f,每次用f=(a+b)/2,结果都是13,以前我只是以为如果结果定义为int,int c=(13+14)/2,结果才为13,没想到结果定义为浮点数都不行。 现在知道啦,f=(a+b)/2.0,就好,就不是整除啦,或者将a,原创 2012-09-24 11:12:10 · 488 阅读 · 0 评论 -
筛选法求素数
今天做九度1040题,做关于第k个素数的问题,还自认为还简单,依旧用原来的方法来判断素数,就是依次用该数除以2一直到该数的平方根,能整除就不是的。相信该办法大家都知道,比较容易理解,但效率太低下。我每次提交都出现Time Limited Exceed。因此不得不改进求素数的算法1、这是本来的算法:int isPrimeNum(long num){ int i,flag=0; for原创 2012-10-10 16:54:32 · 999 阅读 · 0 评论 -
1366栈的压入弹出序列
题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。输入:每个测试案例包括3行:第一行为1个整数n(1第二行包含n个整数,表示栈的压入顺序。第三行包含原创 2013-09-08 11:35:06 · 947 阅读 · 0 评论