<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[雨中飞燕之家]]></title>
<link>http://blog.pfan.cn/yzfy</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[论坛文章：基础算法、技巧、调试概要]]></title>
		<link>http://blog.pfan.cn/yzfy/32170.html</link>
		<description><![CDATA[// ************************************************************ //// 本文源自飞燕之家在线测评论坛http://yzfy.org/，转载清注明出处 //// ************************************************************ //基础算法题目精简集合
题目相对来说简要了一些，算是有代表性了，各方面都有题目偶不希望像别的帖子那样像为了凑数般弄够100题，相反这里不过二三十。前六章均为算法基础入门必会解答的题目，也就是若当中有任何一题，您无法给出正确解答，就不算有算法基础（带星的题目例外），并且这里不提供基础题解答，若你实在需要，请自行查资料或者找人帮你。下文假定阅读者具有良好的小学数学基础，以及懂得使用C/C++/Pascal语言当中的任何一种，尽管你会其它的语言也行，但算法描述方面以及代码效率还是推荐以上三种。如果以下算法基础的题目您学习了很久也无法正确解决的话，那么本人不建议你继续学习编程（基础题不用STL库独立解答出才算是会）。
第一章。循环控制1.输入一个奇数n，输出对角线长为n的实心或者空心的菱形图案&nbsp; 如当n=5时，有：&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; ***&nbsp; *****&nbsp;&nbsp; ***&nbsp;&nbsp;&nbsp; *&nbsp; 详细可参阅http://yzfy.org/bbs/viewthread.php?tid=352.输入一个奇数n，构造并输出一个n阶等和幻方，&nbsp; 即每一行每一列和两对角线上的n个数的和相等&nbsp; 如当n=5时，有（构造方法请自行搜索或者观察下表）：&nbsp; 03 16 09 22 15&nbsp; 20 08 21 14 02&nbsp; 07 25 13 01 19&nbsp; 24 12 05 18 06&nbsp; 11 04 17 10 233.输入一个1e9以内的整数n和k(2&lt;=k&lt;=36)，输出相应的k进制数。&nbsp; 相关题目请参阅http://yzfy.org/bbs/viewthread.php?tid=4744.输入一个整数n(2&lt;=n&lt;=1e9)，判断它是不是]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2008-01-13 23:43:00</pubDate>
		</item>
				<item>
		<title><![CDATA[给使用TC的初学者的一篇文章]]></title>
		<link>http://blog.pfan.cn/yzfy/30651.html</link>
		<description><![CDATA[给使用TC的初学者的一篇文章 —— 作者：雨中飞燕本文源自雨中飞燕之家C/C++学习论坛http://yzfy.org，转载请注明出处。前言：“TC过时了”，我说。接着就一堆人问，“为什么过时啊？”，“TC不是很好用吗”，“教材上也是用这个啊”，“二级考试不也是规定用的TC吗？”。于是乎我已经无语了。/----------------------------------------------------------------------/一。头文件的问题好了，来看个经典的TC2下在老潭的书的《C语言程序设计（第二版）》，第4页的一段代码：main( ){&nbsp;&nbsp;printf("This is a C program.\n");}好了，当时的TC2的确允许使用printf和scanf可以不加头文件，也的确允许main()这样的声明。允许是允许了，可是你写成这样对你有好处吗？打个比方，Basic语言知道吗？这种语言可以不声明变量就使用。的确同样也是允许了，可是给我的话，我会要求编译器强制检查变量是不是声明了再使用。为什么？如果你需要用名字是nlen这个变量，当中有一个不小心写成n1en，不强制检查的话，编译器不告诉你错，但运行结果是错误的。但这种错误要是在很多行代码里你怎么找？特别是'l'和'1'如此相似。编译器虽然允许，但你别以为那样写就是好事。说回刚刚的C代码，TC2允许不加头文件，于是不少初学的人习惯了从不写头文件，以为C语言不需要头文件似的。好了，等到看到那本书的138页，那个字符输入输出，用了gets，就突然多了一个#include &lt;stdio.h&gt;，仔细一看，那一页中间有100来字强调了要用库函数，可是没有讲怎么用，下面多了的那一行初学者也可能会觉得奇怪，要是不理解的人就跳过了，要是没留意的更不当一回事了，谁让之前书里一直都没有那句呢。然后，当有的初学者用TC3.0打代码的时候，编译提示说scanf没有声明（或者是用TC2的打了gets函数说gets没有声明），他们就郁闷了，都是按照书的代码啊，都一模一样还会错？于是跑来论坛问。有跑来问的还好，最怕的就是用TC2的，看了数组觉得难还跳了过去的，于是一直都不会写头文件，成了习惯。要是随便换个环境，结果没写头文件的，错了，结果还说自己写C代码写那么多，这里怎么就错了，然后就怀疑编]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-10-31 16:58:00</pubDate>
		</item>
				<item>
		<title><![CDATA[函数声明省略类型的问题]]></title>
		<link>http://blog.pfan.cn/yzfy/29708.html</link>
		<description><![CDATA[且不说新标准禁止这种声明，即使在旧标准下允许，一样带来很麻烦的问题
假设你能通过编译的话：#include &lt;stdio.h&gt;myprint(){&nbsp;&nbsp;&nbsp; printf("Hello World");&nbsp;&nbsp;&nbsp; return 0;}int main(){&nbsp;&nbsp;&nbsp; myprint();//请问这一句到底是函数声明还是函数调用？？&nbsp;&nbsp;&nbsp; return 0;}如果以下这样写：#include &lt;stdio.h&gt;int main(){&nbsp;&nbsp;&nbsp; myprint();//请问这一句到底是函数声明还是函数调用？？&nbsp;&nbsp;&nbsp; return 0;}myprint(){&nbsp;&nbsp;&nbsp; printf("Hello World");&nbsp;&nbsp;&nbsp; return 0;}]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-09-27 20:02:00</pubDate>
		</item>
				<item>
		<title><![CDATA[发回复和留言的注意]]></title>
		<link>http://blog.pfan.cn/yzfy/29479.html</link>
		<description><![CDATA[本人人懒，最近也少写文章，很少管理自己的Blog，但不等于你们就可以在Blog随便发表不雅言论。
当然，如果你认为匿名发表是可以不负任何责任，可以用这种方法骂人的话，我也没时间管，你愿意的话你随便，随便在这里表现你丑恶的一面。]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-09-18 01:03:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[转载]C/C++语言误区之：fflush(stdin)]]></title>
		<link>http://blog.pfan.cn/yzfy/26617.html</link>
		<description><![CDATA[1.为什么fflush(stdin) 是错的首先请看以下程序：#include &lt;stdio.h&gt;int main( void ){&nbsp;&nbsp;&nbsp; int i=1;&nbsp;&nbsp;&nbsp; while(i) &nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Please input an integer: ");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d", &amp;i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n", i);&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; return 0;}
这个程序首先会提示用户输入一个整数，然后等待用户输入，如果用户输入的是整数，程序会输出刚才输入的整数，并且再次提示用户输入一个整数，然后等待用户输入。但是一旦用户输入的不是整数（如小数或者字母），假设 scanf 函数最后一次得到的整数是 2 ，那么程序会不停地输出“Please input an integer: 2”。这是因为scanf("%d", &amp;i);只能接受整数，如果用户输入了字母，则这个字母会遗留在“输入缓冲区”中。因为缓冲中有数据，故而 scanf 函数不会等待用户输入，直接就去缓冲中读取，可是缓冲中的却是字母，这个字母再次被遗留在缓冲中，如此反复，从而导致不停地输出“Please input an integer: 2”。也许有人会说：“居然这样，那么在 scanf 函数后面加上‘fflush(stdin);’，把输入缓冲清空掉不就行了？”然而这是错的！C和C++的标准里从来没有定义过 fflush(stdin)。也许有人会说：“可是我用 fflush(stdin) 解决了这个问题，你怎么能说是错的呢？”的确，某些编译器（如VC6）支持用 fflush(stdin) 来清空输入缓冲，但是并非所有编译器都要支持这个功能（linux 下的 gcc 就不支持），因为标准中根本没有定义 fflush(stdin)。MSDN 文档里也清楚地写着fflush on]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-06-10 13:59:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[原创]火拼俄罗斯方块单机第二版(含源代码)]]></title>
		<link>http://blog.pfan.cn/yzfy/26488.html</link>
		<description><![CDATA[很简单的一个俄罗斯方块游戏，花了两天时间写出来的一天写内核，一天写录像，写的很随便欢迎大家来玩玩哈哈，使用VC6编写第一版本下载地址：http://yzfy.org/file/tetris.exe&nbsp;(18Kb)第二版本下载地址：http://yzfy.org/file/tetris.rar&nbsp;(23Kb，主程序19Kb)说明：键盘键位和被攻击速度可以自行调节，默认被攻击速度是2行/5秒。一次消三行可以降低两行；一次消四行可以降低三行。被攻击速度是2行/5秒：坚持180秒不被顶死为合格被攻击速度是2行/4秒：坚持100秒不被顶死为合格被攻击速度是2行/3秒：坚持&nbsp;60秒不被顶死为合格被攻击速度是2行/2秒：坚持&nbsp;30秒不被顶死为合格
第二版本支持游戏录像功能，压缩包内附带了偶打的两个录像祝游戏愉快:)此处下载源代码：&nbsp;http://yzfy.org/dis/listpost.php?tid=135]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-06-14 23:16:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[随笔]WC？]]></title>
		<link>http://blog.pfan.cn/yzfy/26288.html</link>
		<description><![CDATA[无锡市的现在，是我们的将来？100年后，我们的城市会变成什么？相关资料图片：

一个比WC还要臭的地城市——蓝藻污染]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-05-31 13:23:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[原创]对战弹球小游戏]]></title>
		<link>http://blog.pfan.cn/yzfy/26240.html</link>
		<description><![CDATA[偶做的对战弹球小游戏，人机对战！考你反应和对战策略哦！！有兴趣的试试，难度不小的哦~~~~~请点击此处下载可执行文件大小仅18Kb欢迎大家玩玩，呵呵~~~~~~~~~~~~~~~~~~]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-05-29 13:57:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[原创]四行代码算1000阶乘精确值]]></title>
		<link>http://blog.pfan.cn/yzfy/25193.html</link>
		<description><![CDATA[#include&lt;stdio.h&gt;#define N 1000&nbsp;&nbsp;&nbsp; //要计算的Nlong s[N]={1,1},n=N,t=2,a=1,b=0;int main()//雨中飞燕之作{&nbsp;&nbsp;&nbsp; for(;a&lt;=*s||(++t&lt;=n?(b=0,a=1):0);(*s==a++&amp;&amp;b)?(*s)++:0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[a]=(b+=s[a]*t)%10000,b/=10000;&nbsp;&nbsp;&nbsp; for(printf("%d",s[*s]);--*s&gt;0;)printf("%04d",s[*s]);&nbsp;&nbsp;&nbsp; return 0;}在VC6,DevC,Code::Block上测试，算1000!用时毫秒级最少字节数版本（从long定义变量开始计算共155字节，不计算换行）#include&lt;stdio.h&gt; //雨中飞燕之作#define N 1000 //要计算的Nlong s[N]={1},n=10000,t=2,a,b,m;main(){for(;a&lt;=m||++t&lt;=N&amp;&amp;(a=b=0,1);m==a++&amp;&amp;b&amp;&amp;m++)s[a]=(b+=s[a]*t)%n,b/=n;for(printf("%d",s[m]);m--;)printf("%04d",s[m]);}附1000!的精确值：402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-04-24 13:19:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[随笔]今天，偶无语了]]></title>
		<link>http://blog.pfan.cn/yzfy/24955.html</link>
		<description><![CDATA[VC++群(34774033)==================================================消息组：群/校友录(16)==================================================消息类型：聊天记录==================================================2007-04-16&nbsp;23:32:25&nbsp;Morning&nbsp;Call(308617383)请问VC2005最低要求的内存多大啊？2007-04-16&nbsp;23:32:41&nbsp;静轩帝胄(438038687)1G2007-04-16&nbsp;23:32:57&nbsp;Morning&nbsp;Call(308617383)512行不？2007-04-16&nbsp;23:32:58&nbsp;百叶草(59994609)512就可以吧..2007-04-16&nbsp;23:34:10&nbsp;静轩帝胄(438038687)理论上2007-04-16&nbsp;23:37:32&nbsp;Morning&nbsp;Call(308617383)请问你用的哪个？2007-04-16&nbsp;23:38:04&nbsp;Morning&nbsp;Call(308617383)我们老师老是鼓励我们用.NET2007-04-16&nbsp;23:38:55&nbsp;Morning&nbsp;Call(308617383)6.0过时了吗2007-04-16&nbsp;23:39:17&nbsp;雨中飞燕(609754650)256M足够了2007-04-16&nbsp;23:39:22&nbsp;雨中飞燕(609754650)6.0不过时2007-04-16&nbsp;23:41:30&nbsp;静轩帝胄(438038687)只要你真正弄懂哪个都行2007-04-16&nbsp;23:43:17&nbsp;雨中飞燕(609754650)老师鼓励你用.net是因为她用的是.net所以看不习惯其它的2007-04-16&nbsp;23:43:55&nbsp;静轩帝胄(438038687)一般2007-04-16&nbsp;23:44:14&nbsp;Morn]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-04-17 12:46:00</pubDate>
		</item>
				<item>
		<title><![CDATA[实时控制输入内容的长度]]></title>
		<link>http://blog.pfan.cn/yzfy/24861.html</link>
		<description><![CDATA[以下代码(GetStringEX函数)能实现在控制台下有类似WindowsGDI界面的文本框最大输入文本长度的那种效果，个人感觉效果不错哈哈#include&nbsp;&lt;stdio.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;//putchar#include&nbsp;&lt;conio.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;//getch#include&nbsp;&lt;windows.h&gt;&nbsp;&nbsp;//MessageBeepint&nbsp;GetStringEX(char*&nbsp;cpBuffer,int&nbsp;nMaxChars){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;cInput,&nbsp;nCount&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;(cInput&nbsp;=&nbsp;getch())&nbsp;!=&nbsp;'\r'&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cInput&nbsp;==&nbsp;'\b')&nbsp;//BackSpace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(nCount&nbsp;&gt;&nbsp;0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nCount--,&nbsp;printf("\b&nbsp;\b");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-04-13 20:23:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[转载]C/C++语言误区之：void&nbsp;main(&nbsp;)]]></title>
		<link>http://blog.pfan.cn/yzfy/24801.html</link>
		<description><![CDATA[C/C++语言误区之:void&nbsp;main(&nbsp;)作者：antigloss&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;很多人甚至市面上的一些书籍，都使用了void&nbsp;main(&nbsp;)&nbsp;，其实这是错误的。C/C++&nbsp;中从来没有定义过void&nbsp;main(&nbsp;)&nbsp;。C++&nbsp;之父&nbsp;Bjarne&nbsp;Stroustrup&nbsp;在他的主页上的&nbsp;FAQ&nbsp;中明确地写着&nbsp;The&nbsp;definition&nbsp;void&nbsp;main(&nbsp;)&nbsp;{&nbsp;/*&nbsp;...&nbsp;*/&nbsp;}&nbsp;is&nbsp;not&nbsp;and&nbsp;never&nbsp;has&nbsp;been&nbsp;C++,&nbsp;nor&nbsp;has&nbsp;it&nbsp;even&nbsp;been&nbsp;C.（&nbsp;void&nbsp;main(&nbsp;)&nbsp;从来就不存在于&nbsp;C++&nbsp;或者&nbsp;C&nbsp;）。下面我分别说一下&nbsp;C&nbsp;和&nbsp;C++&nbsp;标准中对&nbsp;main&nbsp;函数的定义。&nbsp;1.&nbsp;C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在&nbsp;C89&nbsp;中，main(&nbsp;)&nbsp;是可以接受的。Brian&nbsp;W.&nbsp;Kernighan&nbsp;和&nbsp;Dennis&nbsp;M.&nbsp;Ritchie&nbsp;的经典巨著&nbsp;The&nbsp;C&nbsp;programming&nbsp;Language&nbsp;2e（《C&nbsp;程序设计语言第二版》）用的就是&nbsp;main(&nbsp;)。不过在最新的&nbsp;C99&nbsp;标准中，只有以下两种定义方式是正确的：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-04-11 18:29:00</pubDate>
		</item>
				<item>
		<title><![CDATA[有重复元素的全排列输出]]></title>
		<link>http://blog.pfan.cn/yzfy/24672.html</link>
		<description><![CDATA[例如，输入aabc，按字典顺序输出：aabcaacbabacabcaacabacbabaacbacabcaacaabcabacbaa偶的代码如下：#include&nbsp;&lt;stdio.h&gt;int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;nt,n1,n2,nLen;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;cIn[100],ct;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;nNum[100]={0};&nbsp;&nbsp;&nbsp;&nbsp;scanf("%s",cIn); //输入字符串&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*pc=cIn,*pc2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(;*pc;pc++)for(pc2=pc+1;*pc2;pc2++)//排序，按ASCII&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(*pc&gt;*pc2)ct=*pc,*pc=*pc2,*pc2=ct;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nLen=pc-cIn;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(nNum[nLen]==0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;cT[100],cOut[100]={0},*pcOut=cOut;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n1=0;n1&lt;=nLen;n1]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-04-07 15:01:00</pubDate>
		</item>
				<item>
		<title><![CDATA[超高精度算阶乘(快速)]]></title>
		<link>http://blog.pfan.cn/yzfy/24430.html</link>
		<description><![CDATA[//以10进制输出结果，本程序计算1000!用时不到50ms#include&nbsp;&lt;stdio.h&gt;#include&nbsp;&lt;conio.h&gt;#include&nbsp;&lt;time.h&gt;&nbsp;&nbsp;//用于计时#define&nbsp;MaxNum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10000&nbsp;&nbsp;//阶乘最大的数(最高位数)//如果要算更大的n!请自行修改此值void&nbsp;LargeNumberTimes(long&nbsp;*num,long&nbsp;&amp;nMax,long&nbsp;nTimes){&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;z1,z2,z3=0;&nbsp;&nbsp;&nbsp;&nbsp;for(z1=0;z1&lt;=nMax;z1++)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((z2=num[z1]*nTimes+z3)&gt;=10000)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z3=z2/10000,z2%=10000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(z1==nMax)nMax++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;z3=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num[z1]=z2;&nbsp;&nbsp;&nbsp;&nbsp;}}int&nbsp;main(){//雨中飞燕之作;&nbsp;&nbs]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-03-31 00:49:00</pubDate>
		</item>
				<item>
		<title><![CDATA[生成奇数阶等和幻方代码（超短）]]></title>
		<link>http://blog.pfan.cn/yzfy/24395.html</link>
		<description><![CDATA[很短，但应该不是最短，仅用循环来完成#include&nbsp;&lt;stdio.h&gt;&nbsp; //头文件
版本一（数字1在中间偏右）：int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;nList[19][19],n=0,n1,n2,nh;&nbsp;&nbsp;&nbsp;&nbsp;while(n%2==0)scanf("%d",&amp;n);//输入阶数&nbsp;&nbsp;&nbsp;&nbsp;for(n2=n*n,n1=0,nh=n/2;n1&lt;n2;n1++)//计算生成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nList[(n1*(n-1)+nh+n1/n)%n][(n1+nh+1+n1/n)%n]=n1+1;&nbsp;&nbsp;&nbsp;&nbsp;for(n2=0;n2&lt;n;n2++)//结果输出&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n1=0;n1&lt;n;n1++)printf("%4d",nList[n2][n1]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("\n");&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}版本二（数字1在第一行中间）：int main(){&nbsp;&nbsp;&nbsp; long nList[31][31],n=0,n1,n2;&nbsp;&nbsp;&nbsp; while(!(n&amp;1))scanf("%d",&amp;n);//输入阶数&nbsp;&nbsp;&nbsp; for(n2=n*n,n1=0;n1&lt;n2;n1++)//计算生成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nList[(n1*(n-1)+(n1/n)*2)%n][(n1+(n&gt;&gt;1)-n1/n)%n]=n1+1;&nbsp;&nbsp;&nbsp; for(n2=0]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-04-14 08:55:00</pubDate>
		</item>
				<item>
		<title><![CDATA[（转载）提问的艺术]]></title>
		<link>http://blog.pfan.cn/yzfy/24370.html</link>
		<description><![CDATA[如何获取帮助　　在黑客世界里，当提出一个技术问题时，你能得到怎样的回答？这取决于挖出答案的难度，同样取决于你提问的方法。本指南旨在帮助你提高发问技巧，以获取你最想要的答案。　　首先你必须明白，黑客们只偏爱艰巨的任务，或者能激发他们思维的好问题。如若不然，我们还来干吗？如果你有值得我们反复咀嚼玩味的好问题，我们自会对你感激不尽。好问题是激励，是厚礼，可以提高我们的理解力，而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言，“问得好！”是发自内心的大力称赞。　　尽管黑客们有蔑视简单问题和不友善的坏名声，有时看起来似乎我们对新手，对知识贫乏者怀有敌意，但其实不是那样的。　　我们不想掩饰对这样一些人的蔑视--他们不愿思考，或者在发问前不去完成他们应该做的事。这种人只会谋杀时间--他们只愿索取，从不付出，无端消耗我们的时间，而我们本可以把时间用在更有趣的问题或者更值得回答的人身上。我们称这样的人为“失败者”（由于历史原因，我们有时把它拼作“lusers”）。　　我们在很大程度上属于志愿者，从繁忙的生活中抽出时间来解惑答疑，而且时常被提问淹没。所以我们无情的滤掉一些话题，特别是抛弃那些看起来象失败者的家伙，以便更高效的利用时间来回答胜利者的问题。　　如果你觉得我们过于傲慢的态度让你不爽，让你委屈，不妨设身处地想想。我们并没有要求你向我们屈服--事实上，我们中的大多数人最喜欢公平交易不过了，只要你付出小小努力来满足最起码的要求，我们就会欢迎你加入到我们的文化中来。但让我们帮助那些不愿意帮助自己的人是没有意义的。如果你不能接受这种“歧视”，我们建议你花点钱找家商业公司签个技术支持协议得了，别向黑客乞求帮助。　　如果你决定向我们求助，当然不希望被视为失败者，更不愿成为失败者中的一员。立刻得到有效答案的最好方法，就是象胜利者那样提问——聪明、自信、有解决问题的思路，只是偶尔在特定的问题上需要获得一点帮助。
提问之前　　在通过电邮、新闻组或者聊天室提出技术问题前，检查你有没有做到：　　1.通读手册，试着自己找答案。　　2.在FAQ里找答案（一份维护得好的FAQ可以包罗万象:）。　　3.在网上搜索（个人推荐google~~~）。　　4.向你身边精于此道的朋友打听。　　当你提出问题的时候，首先要说明在此之前你干了些什么；这将有助于树立你的形象：你不是一个妄图不劳而获的乞讨者，不愿]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-03-29 09:52:00</pubDate>
		</item>
				<item>
		<title><![CDATA[数字迷通解程序]]></title>
		<link>http://blog.pfan.cn/yzfy/24369.html</link>
		<description><![CDATA[#include&nbsp;&lt;stdio.h&gt;#include&nbsp;&lt;conio.h&gt;int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n1,n2,n3,n[11]={9,8,7,6,5,4,3,2,1,0,0},ns=0;&nbsp;&nbsp;&nbsp;&nbsp;while(n[10]==0)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n[9]&lt;=1)&nbsp;//这部分按你题目需要修改&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;//现在的代码计算的是a+bc+def=ghij&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n1=n[2]*10+n[1];n2=n[5]*100+n[4]*10+n[3];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n3=n[9]*1000+n[8]*100+n[7]*10+n[6];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n[0]+n1+n2==n3)ns++,printf(&quot;%d&nbsp;+&nbsp;%d&nbsp;+&nbsp;%03d&nbsp;=&nbsp;%04d\n&quot;,n[0],n1,n2,n3);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;break;&nbsp;//这里n[9]&gt;1不可能再有解&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n1=0;n[n1]++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(n1&gt;=0)&nbsp;&n]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-03-29 08:35:00</pubDate>
		</item>
				<item>
		<title><![CDATA[解Joseph(约瑟夫)环问题的牛代码]]></title>
		<link>http://blog.pfan.cn/yzfy/24367.html</link>
		<description><![CDATA[摘录自本网站论坛（原作者不清楚，知情者请留言告诉偶）问题描述：n个人围成一个环，编号1-n，然后从1号开始报数，报m的出列，下一个人再从1开始报，求出列的人的编号顺序（或者求谁最后出列）#include&nbsp;&lt;stdio.h&gt;#include&nbsp;&lt;conio.h&gt;int&nbsp;main(&nbsp;void&nbsp;){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n,&nbsp;i&nbsp;=&nbsp;0,&nbsp;m,&nbsp;p;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%d%d",&nbsp;&amp;n,&nbsp;&amp;m);&nbsp;//n总人数，m步长&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;++i&nbsp;&lt;=&nbsp;n&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;i&nbsp;*&nbsp;m;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(p&nbsp;&gt;&nbsp;n)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;=&nbsp;p&nbsp;-&nbsp;n&nbsp;+&nbsp;(p&nbsp;-&nbsp;n&nbsp;-&nbsp;1)/(m&nbsp;-&nbsp;1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d\n",&nbsp;p);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;getch();return&nbsp;0;}]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-03-29 08:22:00</pubDate>
		</item>
				<item>
		<title><![CDATA[关于两组有序数据组合成一组有序数据的问题]]></title>
		<link>http://blog.pfan.cn/yzfy/24304.html</link>
		<description><![CDATA[从小到大排序好的数据连接生成新的数据（也是从小到大），并且要去掉重复数据这里用字符串作为例子，完成本功能的函数是combineStr旨在示例一下指针的操控(运用了指向指针的指针)//字符串连接&nbsp;*pTag&nbsp;目标字符串&nbsp;&nbsp;*pa和*pb要进行连接的字符串void&nbsp;combineStr(char&nbsp;*pTag&nbsp;,char&nbsp;*pa,char&nbsp;*pb){&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;**pp;pTag--;&nbsp;&nbsp;&nbsp;&nbsp;while(*pa||*pb)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!*pb&nbsp;||&nbsp;*pa&nbsp;&amp;&amp;&nbsp;*pa&lt;=*pb)pp=&amp;pa;else&nbsp;pp=&amp;pb;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(*pTag!=**pp)*++pTag=**pp;(*pp)++;&nbsp;&nbsp;&nbsp;&nbsp;}}//字符串排序void&nbsp;sort(char&nbsp;*cpStr){&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*pa,*pb,ct;&nbsp;&nbsp;&nbsp;&nbsp;for(pa=cpStr;*pa;pa++)for(pb=pa+1;*pb;pb++)&nbsp;&nbsp;&nbsp;&nbsp;if(*pa&gt;*pb)ct=*pa,*pa=*pb,*pb=ct;}//主函数mainint&nbsp;main(void){&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;a[256]={0},b[256]={0},c[512]={0};&nbsp;&nbsp;&nbsp;&nbsp;scanf(&quot;%s&quot;,a);getchar();sort(a);&nbsp;&nbsp;&nbsp;&nbsp;scanf(&quot;%s&quot;,b);g]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-03-26 18:35:00</pubDate>
		</item>
				<item>
		<title><![CDATA[列举完全数快速算法(瞬间列出前7个)]]></title>
		<link>http://blog.pfan.cn/yzfy/24279.html</link>
		<description><![CDATA[#include&nbsp;&lt;stdio.h&gt;#include&nbsp;&lt;conio.h&gt;#include&nbsp;&lt;math.h&gt;int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;for(long&nbsp;n=2,z1=3,z2,zq;n&lt;=20;z1=(long)pow(2,++n)-1){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(z2=2,zq=(long)sqrt(z1);z2&lt;=zq;z2++)if(z1%z2==0)break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(z2&gt;zq)printf(&quot;%.lf\n&quot;,(pow(2,n-1)*z1));&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;getch();return&nbsp;0;}]]></description>
		<author><![CDATA[雨中飞燕]]></author>
		<pubDate>2007-03-25 20:33:00</pubDate>
		</item>
		</channel>
</rss>