Module77:Yes,it is.
Eureka...

Romberg算法 0

2009年4月01日 14:41 in Coding My Mind tags: 算法 递推 数值计算 积分

Romberge算法是什么,其实是一种求数值积分的方法。就是先不断二分用递推梯形公式求出Tn,再通过Tn,T2n的线性组合求出复化Simpon积分Sn,再通过Sn,S2n的线性组合求出Cotes积分值,这样一步步往下算,它是一种加速算法。过程像下面这样:

                                                                                   T1 
                                                                                   T2    S1
                                                                                   T4    S2    C1
                                                                                   T8    S4    C2    R1
                                                                                   T16  S8    C4    R2   ....
 
下面是用C语言实现的代码:


能够输出自己的程序 4

2009年3月24日 12:40 in Coding My Mind tags: 代码 程序 算法 趣题 递归 证明 quine 回文

      最近突然冒出一个想法:怎样写一个程序,它可以输出自己的源代码?

      我们都写过这个程序:

#include<stdio.h>
main() { printf("Hello, world");}

      它会输出:

Hello, world

      于是很自然地,要写出一个输出自己的程序,可以尝试这样写:

#include<stdio.h>
main() { printf("#include<stdio.h>\nmain() { printf(\"#include<stdio.h>\n main() { ...\") } ");}

      它会输出:

#include<stdio.h>
main() { printf("#include<stdio.h>
main() { ..."
) }

      你可以继续这样写下去,但你会发现自己已经陷入死循环了,写到printf那就得返回去加上一段。显然像上面这样是做不到的。是不是说这样的程序就不存在呢?答案是否定的,不仅写得出来,而且各种各样,五花八门的都有。


qsort函数用法简介 0

2009年3月18日 10:37 in Coding My Mind tags: 算法 排序 库函数

qsort包含在<stdlib.h>头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序。排序之后的结果仍然放在原数组中。使用qsort函数必须自己写一个比较函数。

函数原型:

void qsort (void  *base,size_t num,size_t size , int (* comparator)(const void * , const void  *));

用法以及参数说明:

Base数组起始地址
num数组元素个数
size每一个元素的大小
comparator函数指针,指向比较函数
1比较函数要接受两个参数,一般要转换成要比较数据的类型;
2比较函数的返回值要反映两个参数是大于,等于还是小于的关系,分别用一个正数,0和一个负数表示。
在比较函数中以第一个参数和第二个参数比较则是从小到大排序。反过来则是从大到小排序。看下面的例子:

对int类型数组排序
int num[100];

int cmp ( const void *a , const void *b )
{
return *(int *)a - *(int *)b;
}

qsort(num,100,sizeof(num[0]),cmp);


现在的大学生怎么了 13

2009年2月15日 01:18 in Coding My Mind tags: 人生 大学生 程序员

引自:程序人生 下载

现在的计算机专业学生怎么这个样?

荒废掉的专业课
 
现在的学生,本末倒置的厉害。什么时髦玩什么,把那些本该学好的只是反而放到一边。整天弄什么Linux(因为大家都在弄),安装来安装去的乐此不疲(到了毕业就算是精通Unix了,可以在简历里面写一笔的)而且专对界面,软件的使用什么的感兴趣,比如驱动个声卡,配置个Xwindows,折腾个没完,可以说是取其糟粕,弃其精华.如果你真的问问他们一些企业应用的东西,也就是能说出个Apache之类就不错了,你问下去,对与错还没准儿呢。很多学生找工作,都会把学校的成绩在简历上大肆的吹嘘--千万别信他们!我也从学校里出来的,对这个还是比较了解的。我那天面试了一个北京某著名理科高校的计算机研究生,我看到简历里说到他是其中一门课(关于中间件的课程)的助教,偶问他:能否对业界知名的中间件加以归类?用什么标准无所谓。支支吾吾半天连主要的产品都说不全。就这样,在简历里还吹嘘得很厉害,什么某公司的顾问了,什么公司的技术总监了,胡扯!
这首先是学校的责任。真不知道那些教授讲课的时候都说得什么?传道授业解惑,哪一点做到了呢?