经典C程序100例(3)

2009年07月1日

题目:一个整数,若加上100后是一个完全平方数,若加上168还是一个完全平方数,请问该数是多少?
分析:不知道这数字大小是多少,不知道这样的数字有几个,程序写起来效率不会高。开始写成while(x阅读这个条目剩下部分 »

《百变狸猫》影评

2009年06月27日

《百变狸猫》(又名《平成狸和战》宫崎骏作品)讲的是一个和环境有关的故事。人类对城市的无休止扩张严重影响了居住在日本东京郊区多摩山的狸猫家的正常生活,为了保卫家园,狸猫们启用家族中自古流传下来的“幻术”,经过刻苦修炼,一部分炼成幻术的狸猫开始用自己的方式和人类抗争,试图夺回本属于自己的森林、绿地、灌木、空气和土壤。小规模的幻术应用并未能有效阻止人类的扩张计划,于是,平成33年秋,三位大师Hage(来自八岛,)、Inugami Gyoubu(来自松山)、Kincho Daimyojin(金长神社第六代传人)被请到了多摩山,并带领狸猫进行了一场大规模的针对人类的代号为“百鬼夜”的游行示威抗议活动。游行示威活动本身很成功,但是,却被一个人类的游乐园老板利用了,老板声称是自己的游乐园的一次宣传活动,狸猫又一次失败了。最后,狸猫们被迫迁移到其他的地方、或者利用幻术生活在人类之间、或者被优胜劣汰的法则毁灭… 阅读这个条目剩下部分 »

VWware Workstation

2009年06月26日

简单说VWware Workstation是一款虚拟机软件,通过VWware Workstation,可以再一台物理PC上“虚拟”出来数台“虚拟机”。被虚拟出来的PC环境,可以是Windows, Linux, FreeBSD或者任何我们想安装的操作系统。虚拟机可以从现有的物理PC转换而得到,或者从零开始安装操作系统而得到。每个虚拟机都呈现为一个完整的 PC,包括处理器、内存、网络连接和外设端口。多个虚拟机之间也可以交换文件,或者组成网络。虚拟机还可以使用物理PC的光驱、软驱以及USB2.0的端口。虚拟机在使用的过程中还能够挂起或者像物理PC一样重新启动和关机。在使用虚拟机的过程中,还可以在某个时刻,给虚拟机创建“镜像”以及在任何时间恢复到这个“镜像”。 阅读这个条目剩下部分 »

经典C程序100例(2)

2009年06月22日

题目2:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

分析:题目出的有歧义,比如“20万到40万之间时,高于20万元的部分,可提成5%”,可是并没有提到这种情况下低于20万的部分如何处理,暂时理解成低于20万的部分,是按照“利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%”来处理的。同样,利润每升一个台阶,都存在同样的问题。如果直接写if…else if的判断,那么20万之内的利润,还好判断,如果利润在20万到40万之间的话,20万以上的利润可以直接乘以5%,20万以下的利润,还要再判断一次是低于10万还是在10万到20万之间,利润每上一个台阶,就得多一个判断,这个思路写出来的程序可读性和可维护性都不高。所以要还另外一种思路。另外,因为要乘以小数,所以数据类型不要使用int,应使用double。 阅读这个条目剩下部分 »

经典C程序100例(1)

2009年06月22日

网上找到了一本CHM格式的电子书,叫做《经典C程序100例》,这100个例程,是不是经典不必讨论,如果都过一遍的话,对学习C语言会有不小的帮助,就从第一个来吧。

题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 阅读这个条目剩下部分 »