摘要: /*用c语言实现一个revert 函数,它的功能是将输入的字符串在原串上倒序后返回。 char *revert(char *str)*/char *revert(char *str){ char ch = 0,*p = str; // ch 为中间变量,p指向字符串首地址 int count = (int)strlen(str); // 字符个数 for (int i = 0; i < count/2; i++,str++) { // 两两对应交换 ch = *str; *str = *(p + count - i-1); *(p + count - i... 阅读全文
posted @ 2013-09-28 17:52 月影空 阅读(173) 评论(0) 推荐(0) 编辑
摘要: /*.编写一个函数,作用是把一个char 组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefg”函数头是这样的:void loop_move (char *str, int n)*/#import void loop_move (char *str, int n){ char * s = str; //记录字符串首地址 char num = n % (int)strlen(str); //如果移动位数大于字符串的字符数,计算出等效移 位数。 char * p = malloc(num... 阅读全文
posted @ 2013-09-28 17:04 月影空 阅读(877) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫(Josephus)问题是由古罗马的史学家约瑟夫提出的,他参加并记录了公元66-70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名将士在附近的一个洞穴中避难。在哪里,将士们群情激奋并表示:要投降毋宁死。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签并且做为洞穴中两个幸存者之一生存下来。 约瑟夫环问题的具体描述是:设有编号为1,2,......,n的n(n>0)个人围成一个圈,从第一个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m 阅读全文
posted @ 2013-09-28 16:01 月影空 阅读(221) 评论(0) 推荐(0) 编辑