洗扑克牌(乱数排列)

说明 洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1~N)打乱重新排列,只不过洗扑克牌多了一个花色判断的动作而已。 解法 初学者通常会直接想到,随机产生1~N的乱数并将之存入阵列中,后来产生的乱数存入阵列前必须先检查阵列中是否已有重复的数字,如果有这个数就不存入,再重新产生下一个数,运气不好的话,重复的次数就会很多,程式的执行速度就很慢了,这不是一个好方法。 以1~52的乱数排列为例好了,可以将阵列先依序由1到52填入,然后使用一个回圈走访阵列,并随机产生1~52的乱数,将产生的乱数当作索引取出阵列值,并与目前阵列走访到的值相交换,如此就不用担心乱数重复...
2012-04-01 20:13 | 阅读 1739 次 | 评论 1 条

迭代法求某数的平方根

编写C程序,用迭代法求x=a^(1/2)。求平方根的迭代公式为:Xn+1=1/2(Xn+a/Xn)要求前后两次求出的得差的绝对小于0.00001。给出的答案一般是: #include"stdio.h"#include"math.h"int main() { float x0,x1,a; scanf("%f",&a); x1=a/2; do { x0=x1;x1=(x0+a/x0)/2; }while(fabs(x0-x1)>=0.00001); printf("%.3f\n",x1); r...
2012-02-28 21:26 | 阅读 1632 次 | 评论 0 条

分解质因数

#include<stdio.h>int main(){ int n,i; printf("please input the number\n"); scanf("%d",&amp;n); printf("%d=",n); for(i=2;i<=n;i++) { while(n!=i) { if(n%i==0) { printf("%d*",i); n=n/i; } ...
2012-01-28 22:59 | 阅读 1017 次 | 评论 0 条

Win32

bk.view.catalog().start("0"); 什么是Win32   Win32是指你现在所使用的操作系统是32位的windows环境. Win32的重要意义   从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务",而如今的Win32操作系统却可以一边听音乐,一边编程,一边打印文档。   理解多线程及其同步、互斥等通信方式是理解现代操作系统的关键一环,当我们精通了Win32多线程程序设计后,理解和学习其它操作系统的多任务控制也非常容易。许多程序员从来...
2011-08-20 15:06 | 阅读 817 次 | 评论 0 条
浏览48160次