void-man

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2011年4月17日

摘要: 原型:extern char *strrev(char *s); 用法:#include <string.h> 功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。 说明:返回指向颠倒顺序后的字符串指针。 函数名: strstr 功 能: 在字符串中查找指定字符串的第一次出现 用 法: char *strstr(char *str1, char *str2); strstr原型:extern char *strstr(char *haystack, char *needle); 用法:#include <string.h> 功能:从字符串haystack中 阅读全文
posted @ 2011-04-17 23:37 void-man 阅读(304) 评论(0) 推荐(0)

摘要: getchar(),可以读取空格回车在内的一个字符,常常用来处理上文输入时候缓冲区内的回车等,以确保下文可以正常接收scanf(),接收一个字符串,以空格回车作为结束标识,如果输入字符串那么回车会变成'\0'被放在字符串结尾,如果是其他类型,回车会继续停留在缓冲区等待下个变量接受gets(),接受一个长串,期中可以接受空格等,以回车符作为结束标志,但其也可以接受一个回车,产生一个空串.如果上句是scanf并且输入的是字符串,那么不会接收回车因为回车已经被上个字符串接受编程'\0',如果上句是scanf输入其他类型,那么输入结束的回车符会被接受,产生一个空串. 阅读全文
posted @ 2011-04-17 23:35 void-man 阅读(2979) 评论(0) 推荐(0)

摘要: kmp算法核心是对于next数组的理解,next数组个人理解就是next[i]代表前i之前的子串中,开头的串和结尾的串能匹配的最大个数,比如给出abacaa设next[0]=-1;由题next[1]=0,求next[2]时候,就在str[2]之前的串ab里面找,看开头和结尾是否有可以匹配的,没有则=0同理next[3]在aba里找,因为ab!=ba,但是str[0]=str[2]所以next[3]=1同理下面的都可求,所以总结:next就是当前匹配失败后,模式串需要跳回的最大位置,也就是移动的最短距离...下面给出官方的解释以及代码next[] 数组的定义为(相对c++): 模式串P开头的任意 阅读全文
posted @ 2011-04-17 12:04 void-man 阅读(447) 评论(0) 推荐(0)

摘要: 语法:int result=factorial(int n); 参数: n: n 的阶乘 返回值: 阶乘结果的位数 注意: 本程序直接输出n!的结果,需要返回结果请保留long a[] 需要 math.h 源程序: int factorial(int n){long a[10000];int i,j,l,c,m=0,w; a[0]=1; for(i=1;i<=n;i++) { c=0; for(j=0;j<=m;j++) { a[j]=a[j]*i+c; c=a[j]/10000; a[j]=a[j]%10000; } if(c>0) {m++;a[m]=c;} } w=m* 阅读全文
posted @ 2011-04-17 10:59 void-man 阅读(3694) 评论(0) 推荐(2)

摘要: 1 --* 2 解一元多次方程 形如 x^5 + x^4 + x = 10 3 4 主要做法: 5 1.高次方程典型的解法就是迭代。给定初始值x0, 6 给定精度e,通过公式x[n]=x[n-1]+f(x[n-1])/f'(x[n-1])不停迭代,直到近似解符合精度要求,输出结果。 7 8 2.另外还有一种二分法,对这种方法不是太熟悉,就是首先给定一个区间[a,b],在区间上如果有极值,则有解,把这个区间一分为2, [a,c]、[c,b],如果f(a)和f(c)艺号,则解在[a,c]区间,反之在[c,b]区间。在把[a,c]一分为2,这样一直分下去,直到近似解符合精度要求。迭代法写程序 阅读全文
posted @ 2011-04-17 10:56 void-man 阅读(13143) 评论(0) 推荐(0)

摘要: 多边形面积在计算机中有一个很好的处理办法就是相量叉乘,我们知道三角形ABC的面积可以等于1/2*|AB|*|AC|*sinABC,也就是等于ABXAC的模若A(x1,y1),B(x2,y2),那么S=x1*y2-x2*y1,由此就可以求的其中点O的坐标可以任意 ,一般都取原点例a : S = Soab + Sobc + Socd + Soda ,4个三角形都是顺时针,面积为他们和的绝对值。 例b : S =Soab+Sobc+Socd+Soda ,4个三角形中后3个是顺时针,后3个的绝对值的面积Sobcda,但是Soab为逆时针,符号与后三个相反,4个相加刚好把多余的抵消。c,d同理由于叉乘得 阅读全文
posted @ 2011-04-17 10:51 void-man 阅读(7218) 评论(0) 推荐(2)