﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-forever</title><link>http://www.cnitblog.com/forever/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 05:58:32 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 05:58:32 GMT</pubDate><ttl>60</ttl><item><title>关于闰年</title><link>http://www.cnitblog.com/forever/archive/2007/03/16/24123.html</link><dc:creator>forever</dc:creator><author>forever</author><pubDate>Fri, 16 Mar 2007 08:55:00 GMT</pubDate><guid>http://www.cnitblog.com/forever/archive/2007/03/16/24123.html</guid><wfw:comment>http://www.cnitblog.com/forever/comments/24123.html</wfw:comment><comments>http://www.cnitblog.com/forever/archive/2007/03/16/24123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/forever/comments/commentRss/24123.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/forever/services/trackbacks/24123.html</trackback:ping><description><![CDATA[<span style="FONT-FAMILY: Georgia">关于公历闰年是这样规定的：地球绕太阳公转一周叫做一回归年，一回归年长365日5时48分46秒。因此，公历规定有平年和闰年，平年一年有365日，比回归年短0.2422日，四年共短0.9688日，故每四年增加一日，这一年有366日，就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年，这样公历年的平均长度与回归年就相近似了。由此规定：年份是整百数的必须是400的倍数才是闰年，例如1900年、2100年就不是闰年。</span> 
<img src ="http://www.cnitblog.com/forever/aggbug/24123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/forever/" target="_blank">forever</a> 2007-03-16 16:55 <a href="http://www.cnitblog.com/forever/archive/2007/03/16/24123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]七种qsort排序方法</title><link>http://www.cnitblog.com/forever/archive/2007/03/15/24068.html</link><dc:creator>forever</dc:creator><author>forever</author><pubDate>Thu, 15 Mar 2007 05:43:00 GMT</pubDate><guid>http://www.cnitblog.com/forever/archive/2007/03/15/24068.html</guid><wfw:comment>http://www.cnitblog.com/forever/comments/24068.html</wfw:comment><comments>http://www.cnitblog.com/forever/archive/2007/03/15/24068.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/forever/comments/commentRss/24068.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/forever/services/trackbacks/24068.html</trackback:ping><description><![CDATA[
		<table class="seyle4" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td id="content9" valign="center">
										<strong style="FONT-SIZE: 14px">
												<a href="http://www.blog.edu.cn/user3/Hailer/archives/2007/1615709.shtml">七种qsort排序方法</a>
										</strong>
								</td>
						</tr>
						<tr>
								<td>
										<div align="right">
												<span class="textbox-label">[ 2007-1-12 9:41:00 | By: <span class="style3">Hailer</span> ]</span>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td height="3"> </td>
						</tr>
				</tbody>
		</table>
		<table style="TABLE-LAYOUT: fixed" cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
				<tbody>
						<tr>
								<td>
										<span class="oblog_text">
												<span class="postbody">七种qsort排序方法 <br /><br />&lt;本文中排序都是采用的从小到大排序&gt; <br /><br />一、对int类型数组排序 <br /><br />int num[100]; <br /><br />Sample: <br /><br />int cmp ( const void *a , const void *b) <br />{ <br />return *(int *)a - *(int *)b; <br />} <br /><br />qsort(num,100,sizeof(num[0]),cmp); <br /><br />二、对char类型数组排序（同int类型） <br /><br />char word[100]; <br /><br />Sample: <br /><br />int cmp( const void *a , const void *b) <br />{ <br />return *(char *)a - *(char *)b; <br />} <br /><br />qsort(word,100,sizeof(word[0]),cmp); <br /><br />三、对double类型数组排序（特别要注意） <br /><br />double in[100]; <br /><br />int cmp( const void *a , const void *b) <br />{ <br />return *(double *)a &gt; *(double *)b ? 1 : -1; <br />} <br /><br />qsort(in,100,sizeof(in[0]),cmp)； <br /><br />四、对结构体一级排序 <br /><br />struct In <br />{ <br />double data; <br />int other; <br />}s[100] <br /><br />//按照data的值从小到大将结构体排序,关于结构体内的排序关键数据data的类型可以很多种，参考上面的例子写 <br /><br />int cmp( const void *a ,const void *b) <br />{ <br />return (*(In *)a).data &gt; (*(In *)b).data ? 1 : -1; <br />} <br /><br />qsort(s,100,sizeof(s[0]),cmp); <br /><br />五、对结构体二级排序 <br /><br />struct In <br />{ <br />int x; <br />int y; <br />}s[100]; <br /><br />//按照x从小到大排序，当x相等时按照y从大到小排序 <br /><br />int cmp( const void *a , const void *b) <br />{ <br />struct In *c = (In *)a; <br />struct In *d = (In *)b; <br />if(c-&gt;x != d-&gt;x) return c-&gt;x - d-&gt;x; <br />else return d-&gt;y - c-&gt;y; <br />} <br /><br />qsort(s,100,sizeof(s[0]),cmp); <br /><br />六、对字符串进行排序 <br /><br />struct In <br />{ <br />int data; <br />char str[100]; <br />}s[100]; <br /><br />//按照结构体中字符串str的字典顺序排序 <br /><br />int cmp ( const void *a , const void *b) <br />{ <br />return strcmp( (*(In *)a).str , (*(In *)b).str); <br />} <br /><br />qsort(s,100,sizeof(s[0]),cmp); <br /><br />七、计算几何中求凸包的cmp <br /><br />int cmp(const void *a,const void *b) //重点cmp函数，把除了1点外的所有点，旋转角度排序 <br />{ <br />struct point *c=(point *)a; <br />struct point *d=(point *)b; <br />if( calc(*c,*d,p[1]) &lt; 0) return 1; <br />else if( !calc(*c,*d,p[1]) &amp;&amp; dis(c-&gt;x,c-&gt;y,p[1].x,p[1].y) &lt; dis(d-&gt;x,d-&gt;y,p[1].x,p[1].y)) //如果在一条直线上，则把远的放在前面 <br />return 1; <br />else return -1; <br />} <br /><br />PS: <br /><br />其中的qsort函数包含在&lt;stdlib.h&gt;的头文件里，strcmp包含在&lt;string.h&gt;的头文件里 <br /></span>
										</span>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/forever/aggbug/24068.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/forever/" target="_blank">forever</a> 2007-03-15 13:43 <a href="http://www.cnitblog.com/forever/archive/2007/03/15/24068.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>访问Wikipedia的解决方案</title><link>http://www.cnitblog.com/forever/archive/2007/03/14/24046.html</link><dc:creator>forever</dc:creator><author>forever</author><pubDate>Wed, 14 Mar 2007 12:33:00 GMT</pubDate><guid>http://www.cnitblog.com/forever/archive/2007/03/14/24046.html</guid><wfw:comment>http://www.cnitblog.com/forever/comments/24046.html</wfw:comment><comments>http://www.cnitblog.com/forever/archive/2007/03/14/24046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/forever/comments/commentRss/24046.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/forever/services/trackbacks/24046.html</trackback:ping><description><![CDATA[
		<a href="http://tcno.net/doc/tor/">http://tcno.net/doc/tor/</a>
		<br />简单点就是：<br />1、下载Firefox和Vidalia套件（<a href="http://www.vidalia-project.net/download.php"><font color="#002c99">http://www.vidalia-project.net/download.php</font></a>）<br />2、安装软件<br />3、为Firefox安装插件FoxTor<br /><br /><img src ="http://www.cnitblog.com/forever/aggbug/24046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/forever/" target="_blank">forever</a> 2007-03-14 20:33 <a href="http://www.cnitblog.com/forever/archive/2007/03/14/24046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sicily1240</title><link>http://www.cnitblog.com/forever/archive/2007/03/14/24034.html</link><dc:creator>forever</dc:creator><author>forever</author><pubDate>Wed, 14 Mar 2007 07:04:00 GMT</pubDate><guid>http://www.cnitblog.com/forever/archive/2007/03/14/24034.html</guid><wfw:comment>http://www.cnitblog.com/forever/comments/24034.html</wfw:comment><comments>http://www.cnitblog.com/forever/archive/2007/03/14/24034.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/forever/comments/commentRss/24034.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/forever/services/trackbacks/24034.html</trackback:ping><description><![CDATA[
		<table cellspacing="0" cellpadding="0" width="95%" border="0">
				<tbody>
						<tr>
								<td align="middle">
										<h1>
												<font size="4">Faulty Odometer</font>
										</h1>
										<br />
										<font size="2">Time Limit : 1 second    Memory Limit : 32768 KB <br />Total Submit : 249    Accepted Submit : 141 </font>
								</td>
						</tr>
						<tr>
								<td class="text">
										<br />
										<h1>
												<font size="2">Problem</font>
										</h1>
										<font size="2">
												<font face="Times New Roman">You are given a car odometer which displays the miles traveled as an integer. The odometer has a defect, however: it proceeds from the digit 3 to the digit 5, always skipping over the digit 4. This defect shows up in all positions (the one's, the ten's, the hundred's, etc.). For example, if the odometer displays 15339 and the car travels one mile, odometer reading changes to 15350 (instead of 15340).</font>
												<br />
										</font>
										<h1>
												<font size="2">Input</font>
										</h1>
										<font size="2">
												<font face="Times New Roman">Each line of input contains a positive integer in the range 1..999999999 which represents an odometer reading. (Leading zeros will not appear in the input.) The end of input is indicated by a line containing a single 0. You may assume that no odometer reading will contain the digit 4.</font>
										</font>
										<h1>
												<font size="2">Output</font>
										</h1>
										<font size="2">
												<font face="Times New Roman">Each line of input will produce exactly one line of output, which will contain: the odometer reading from the input, a colon, one blank space, and the actual number of miles traveled by the car. </font>
												<br />
										</font>
										<h1>
												<font size="2">Sample input</font>
										</h1>
										<font size="2">13<br />15<br />2003<br />2005<br />239<br />250<br />1399<br />1500<br />999999<br />0<br /><br /></font>
										<h1>
												<font size="2">Sample output</font>
										</h1>
										<font size="2">13: 12<br />15: 13<br />2003: 1461<br />2005: 1462<br />239: 197<br />250: 198<br />1399: 1052<br />1500: 1053<br />999999: 531440<br /></font>
										<br />
								</td>
						</tr>
				</tbody>
		</table>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">#include&lt;cstdio&gt;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">#include&lt;string&gt;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">#include&lt;cmath&gt;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">using namespace std;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">int main()<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">{<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 1">       </span>char a[11], temp[11];<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 1">       </span>int n, sum;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 1">       </span>int i, j, k;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 1">       </span>while(scanf("%s", a)!=EOF) {<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>sum=0;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>n=strlen(a);<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>if(n==1 &amp;&amp; a[0]=='0') break;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>for(i=0; i&lt;n; i++) { <o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 3">                     </span>temp[i]=a[i]-48;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 3">                     </span>//if(temp[i]&gt;4) temp[i]--;<span style="mso-tab-count: 3">                     </span><o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>}<span style="mso-tab-count: 1">     </span><o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>for(i=0; i&lt;n-1; i++) {<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 3">                     </span>if(temp[i]&lt;4)<span style="mso-tab-count: 1">   </span>sum=sum+temp[i]*(int)pow(double(9), double(n-i-1));<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 3">                     </span>else sum=sum+(temp[i]-1)*(int)pow(double(9), double(n-i-1));<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>}<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>if(temp[n-1]&gt;4) sum=sum+temp[n-1]-1;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>else sum=sum+temp[n-1];<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 3">                     </span>
								<o:p>
								</o:p>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>
								<o:p>
								</o:p>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 2">              </span>printf("%s: %d\n", a, sum);<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 1">       </span>}<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">
								<span style="mso-tab-count: 1">       </span>return 0;<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font color="#0000ff">}</font>
				</span>
		</p>
<img src ="http://www.cnitblog.com/forever/aggbug/24034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/forever/" target="_blank">forever</a> 2007-03-14 15:04 <a href="http://www.cnitblog.com/forever/archive/2007/03/14/24034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASCII码表</title><link>http://www.cnitblog.com/forever/archive/2007/03/14/24026.html</link><dc:creator>forever</dc:creator><author>forever</author><pubDate>Wed, 14 Mar 2007 05:16:00 GMT</pubDate><guid>http://www.cnitblog.com/forever/archive/2007/03/14/24026.html</guid><wfw:comment>http://www.cnitblog.com/forever/comments/24026.html</wfw:comment><comments>http://www.cnitblog.com/forever/archive/2007/03/14/24026.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/forever/comments/commentRss/24026.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/forever/services/trackbacks/24026.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ASCII																																						值																																																																																																																														...&nbsp;&nbsp;<a href='http://www.cnitblog.com/forever/archive/2007/03/14/24026.html'>阅读全文</a><img src ="http://www.cnitblog.com/forever/aggbug/24026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/forever/" target="_blank">forever</a> 2007-03-14 13:16 <a href="http://www.cnitblog.com/forever/archive/2007/03/14/24026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>