﻿<?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>博客园-嚎叫一声</title><link>http://www.cnblogs.com/kaikai/</link><description>让我尝试写一些opengl的东西吧</description><language>zh-cn</language><lastBuildDate>Tue, 14 Oct 2008 12:31:55 GMT</lastBuildDate><pubDate>Tue, 14 Oct 2008 12:31:55 GMT</pubDate><ttl>60</ttl><item><title>数独求解程序</title><link>http://www.cnblogs.com/kaikai/archive/2008/02/13/1067850.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Wed, 13 Feb 2008 05:55:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2008/02/13/1067850.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/1067850.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2008/02/13/1067850.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/1067850.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/1067850.html</trackback:ping><description><![CDATA[摘要: 翻到以前写的一个程序。贴出来优先推理，无法确定的情况下找分支最少的一个去猜，并把当前状态保存，以备将来回溯。#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cassert&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;usingnamespacestd;structNode{ch&nbsp;&nbsp;<a href='http://www.cnblogs.com/kaikai/archive/2008/02/13/1067850.html'>阅读全文</a><img src ="http://www.cnblogs.com/kaikai/aggbug/1067850.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42984/" target="_blank">[新闻]Silverlight 2正式版SDK可以下载</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>阿朱～你走好</title><link>http://www.cnblogs.com/kaikai/archive/2008/02/12/1067524.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Tue, 12 Feb 2008 15:21:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2008/02/12/1067524.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/1067524.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2008/02/12/1067524.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/1067524.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/1067524.html</trackback:ping><description><![CDATA[天龙八部中，姑苏慕容家婢女阿朱本是大理镇南王段正淳和阮星竹所生的两个女儿之一。她与乔峰历经坎坷之后情投意合，本打算在乔峰报了血海深仇之后一同放牛牧马过平谈快乐的生活。谁知道机缘巧合，居然让阿朱为了救自己生父段正淳而不得与亲人相认，甚至还要替父而死。<BR><BR>阿朱重情重义，甘愿舍身为乔峰而死。实在让我很感动。爱一个人可以爱到这样的地步。唉，只能叹息造物弄人，让有情人不能团聚，让骨肉分离。<BR><BR>因为段王爷的那无关生死的花心大萝卜行为经过一连串的事件放大之后可以造成无数的惨案和悲剧。蝴蝶效应应该是金大侠发现的才对～跑题了。<BR><BR>只能说阿朱太好了。好到太为乔峰着想了。假如有一些话能挑明，能再说得清楚一些。应该就不会有这样不幸的结局了。一连串事情实在太巧了，巧得让人觉得假...真希望阿朱没有死。<BR><BR>阿朱，走好～<img src ="http://www.cnblogs.com/kaikai/aggbug/1067524.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42983/" target="_blank">[新闻]Silverlight对Flash 微软打垮Adobe</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>短代码.EOF串</title><link>http://www.cnblogs.com/kaikai/archive/2007/07/19/823649.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Thu, 19 Jul 2007 03:44:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2007/07/19/823649.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/823649.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2007/07/19/823649.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/823649.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/823649.html</trackback:ping><description><![CDATA[一个只包含EOF三个字符的字符串，并且不存在连续的O，问长度为n的这种串有多少种。<BR>其中0&lt;n&lt;40。<BR><BR>递推: e'=e+o+f, o' =e+f, f'=e+o+f<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">// 预处理查表<BR>main(i,n){__int64 d[39]={1,1,1,3};for(;i&lt;39;i++)d[i][1]=d[i-1][0]+d[i-1][2],d[i][2]=d[i][0]=d[i][1]+d[i-1][1],d[i][3]=d[i][1]+d[i][0]*2;while(~scanf("%d",&amp;n))printf("%I64d\n",d[n][3]);}<BR>// 把eof分开存，去掉二级数组的括号<BR>main(i,n){__int64 e[39]={1},o[39]={1},f[39]={1},s[39]={3};for(;i&lt;39;i++)f[i]=e[i]=(o[i]=e[i-1]+f[i-1])+o[i-1],s[i]=o[i]+e[i]*2;while(~scanf("%d",&amp;n))printf("%I64d\n",s[n-1]);}<BR>// e,f总是一样的，于是去掉f<BR>main(i,n){__int64 e[39]={1},o[39]={1},s[39]={3};for(;i&lt;39;i++)e[i]=(o[i]=e[i-1]*2)+o[i-1],s[i]=o[i]+e[i]*2;while(~scanf("%d",&amp;n))printf("%I64d\n",s[n-1]);}<BR>// 与其保存总和，不如结果时计算一下<BR>main(i,n){__int64 e[39]={1},o[39]={1};for(;i&lt;39;i++)e[i]=(o[i]=e[i-1]*2)+o[i-1];while(~scanf("%d",&amp;n))printf("%I64d\n",o[n-1]+e[n-1]*2);}<BR>// 不再查表，按需计算<BR>main(i,n){__int64 e,o,t;for(;~scanf("%d",&amp;n);printf("%I64d\n",o+e+e))for(i=e=o=1;i&lt;n;i++)t=o,e=(o=e+e)+t;}<BR>// 调整一下递推式<BR>main(n){__int64 e,o,t;for(;~scanf("%d",&amp;n);printf("%I64d\n",o+e+e))for(e=o=1;--n;e=(o=e+e)+t)t=o;}<BR>// 再调整递推式，去掉临时变量<BR>main(n){__int64 e,o;for(;~scanf("%d",&amp;n);printf("%I64d\n",o+e+e))for(e=o=1;--n;o=e-o)e+=e+o;}<BR>// 多一次循环，结果就是e<BR>main(n){__int64 e,o;for(;~scanf("%d",&amp;n);printf("%I64d\n",e))for(e=o=1;n--;o=e-o)e+=e+o;}<IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR></DIV>农夫三拳，这下你还能更短吗。嘿嘿嘿：）<img src ="http://www.cnblogs.com/kaikai/aggbug/823649.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42981/" target="_blank">[新闻]IBM扩大研究规模 在上海成立研究院</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>短代码.第几天</title><link>http://www.cnblogs.com/kaikai/archive/2007/07/18/823190.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Wed, 18 Jul 2007 15:35:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2007/07/18/823190.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/823190.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2007/07/18/823190.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/823190.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/823190.html</trackback:ping><description><![CDATA[给定一个日期，输出这个日期是该年的第几天。输入数据有多组，每组占一行，数据格式为YYYY/MM/DD组成。对于每组输入数据，输出一行，表示该日期是该年的第几天。<BR>
<DIV class=panel_title align=left>比如<BR>1985/1/20<BR>2006/3/12<BR>输出<BR>20<BR>71<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT face="Courier New"><SPAN style="COLOR: #000000">main(y,m,d)</SPAN><SPAN id=Codehighlighter1_11_157_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d)</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN id=Codehighlighter1_48_156_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">char</SPAN><SPAN style="COLOR: #000000">&nbsp;s[]</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN id=Codehighlighter1_58_83_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">}</SPAN></SPAN><SPAN style="COLOR: #000000">;m</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">;d</SPAN><SPAN style="COLOR: #000000">+=</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">s[m],(y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">400</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">&amp;&amp;</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">&amp;&amp;</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">&amp;&amp;</SPAN><SPAN style="COLOR: #000000">d</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">;printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d);}</SPAN></SPAN><SPAN style="COLOR: #000000">}<BR></SPAN></SPAN></FONT><SPAN style="COLOR: #000000"><BR></SPAN><FONT face="Courier New"><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;s[]</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN id=Codehighlighter1_167_192_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">}</SPAN></SPAN><SPAN style="COLOR: #000000">;main(y,m,d)</SPAN><SPAN id=Codehighlighter1_205_302_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">s[m]</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">((y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">400</SPAN><SPAN style="COLOR: #000000">&amp;&amp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">)))m</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">;}<BR></SPAN></SPAN></FONT><SPAN style="COLOR: #000000"><BR></SPAN><FONT face="Courier New"><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;s[]</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN id=Codehighlighter1_312_337_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">}</SPAN></SPAN><SPAN style="COLOR: #000000">;main(y,m,d)</SPAN><SPAN id=Codehighlighter1_350_445_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">s[m]</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">400</SPAN><SPAN style="COLOR: #000000">&amp;&amp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">)))m</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">;}<BR></SPAN></SPAN></FONT><SPAN style="COLOR: #000000"><BR></SPAN><FONT face="Courier New"><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;s[]</SPAN><SPAN style="COLOR: #000000">={</SPAN><SPAN id=Codehighlighter1_455_480_Open_Text><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">}</SPAN></SPAN><SPAN style="COLOR: #000000">;main(y,m,d)</SPAN><SPAN id=Codehighlighter1_493_580_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">s[m]</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">)))m</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">;}<BR></SPAN></SPAN></FONT><SPAN style="COLOR: #000000"><BR></SPAN><FONT face="Courier New"><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;s[]</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN id=Codehighlighter1_590_615_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">}</SPAN></SPAN><SPAN style="COLOR: #000000">;main(y,m,d)</SPAN><SPAN id=Codehighlighter1_628_714_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">s[m]</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">)))m</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">;}<BR></SPAN></SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT face="Courier New">main(y,m,d)</FONT></SPAN><SPAN id=Codehighlighter1_727_830_Open_Text><FONT face="Courier New"><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">bcabbccdeeff</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">[m]</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">b</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">)))m</SPAN><SPAN style="COLOR: #000000">--</SPAN></FONT><SPAN style="COLOR: #000000"><FONT face="Courier New">;}<BR></FONT></SPAN></SPAN><FONT face="Courier New"><SPAN style="COLOR: #000000"><BR>main(y,m,d)</SPAN><SPAN id=Codehighlighter1_843_944_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">BCABBCCDEEFF</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">[m</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">]</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">96</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">)));}</SPAN></SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT face="Courier New"><BR>main(y,m,d)</FONT></SPAN><SPAN id=Codehighlighter1_957_1057_Open_Text><FONT face="Courier New"><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">XBCABBCCDEEFF</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">[m]</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">96</SPAN><SPAN style="COLOR: #000000">+!</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">)));}</SPAN></FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT face="Courier New"><BR>main(y,m,d)</FONT></SPAN><SPAN id=Codehighlighter1_1070_1169_Open_Text><FONT face="Courier New"><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(;</SPAN><SPAN style="COLOR: #000000">~</SPAN><SPAN style="COLOR: #000000">scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d/%d/%d</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">y,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">m,</SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN style="COLOR: #000000">d);printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%d\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,d</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">30</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">XBCABBCCDEEFF</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">[m]</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">95</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">(y</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">y</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">m</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">)));}</SPAN></FONT></SPAN></DIV></DIV>不多解释了...<BR><BR>也许这里只有y/100%4+y%4判断是否是闰年有点价值吧...<img src ="http://www.cnblogs.com/kaikai/aggbug/823190.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42980/" target="_blank">[新闻]eWeek评Google八大“20%项目”</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>短代码.求2点之距离</title><link>http://www.cnblogs.com/kaikai/archive/2007/07/14/817889.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Sat, 14 Jul 2007 01:55:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2007/07/14/817889.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/817889.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2007/07/14/817889.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/817889.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/817889.html</trackback:ping><description><![CDATA[<FONT color=#000000>问题：<BR>输入两点坐标（X1,Y1）,（X2,Y2）,计算并输出两点间的距离。<BR></FONT>
<DIV class=panel_content><FONT color=#000000>输入数据有多组，每组占一行，由4个实数组成，分别表示x1,y1,x2,y2,数据之间用空格隔开。<BR></FONT>
<DIV class=panel_content><FONT color=#000000>对于每组输入数据，输出一行，结果保留两位小数。<BR>比如，输入：<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN></FONT><FONT color=#000000><SPAN>1<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN></FONT><SPAN><FONT color=#000000>0<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV></DIV><FONT color=#000000>那么输出：<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></FONT><FONT color=#000000><SPAN>1.00<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">1.41</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV><FONT color=#000000>题目很简单，甚至有点无聊了。<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><SPAN style="COLOR: #000000">#include </SPAN><SPAN style="COLOR: #000000">&lt;</SPAN></FONT><SPAN><FONT color=#000000>math.h&gt;<BR></FONT></SPAN><SPAN style="COLOR: #000000"><FONT color=#000000>int main()<BR></FONT></SPAN><SPAN id=Codehighlighter1_23_143_Open_Text><FONT color=#000000><SPAN style="COLOR: #000000">{<BR>&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: #0000ff">float</SPAN></FONT><FONT color=#000000><SPAN>&nbsp;a,b,c,d;<BR>&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%f%f%f%f</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,&amp;a,&amp;b</SPAN><SPAN style="COLOR: #000000">,&amp;c</SPAN><SPAN style="COLOR: #000000">,&amp;d</SPAN></FONT><FONT color=#000000><SPAN>)==4)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%.2f\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,sqrt((</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">-c</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">-c</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">(b</SPAN><SPAN style="COLOR: #000000">-d</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">(b</SPAN></FONT><SPAN><FONT color=#000000>-d)));<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return 0;<BR>}</FONT></SPAN></SPAN></DIV><FONT color=#000000>好吧，第一个看上去已经挺短的了。好吧，换编译器，用c的编译器，gcc,vc也可以（存.c文件）。这样可以利用一些c的'好处'，至少对缩短代码来说是好处。<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><SPAN style="COLOR: #000000">#include </SPAN><SPAN style="COLOR: #000000">&lt;</SPAN></FONT><SPAN><FONT color=#000000>math.h&gt;<BR></FONT></SPAN><SPAN style="COLOR: #000000"><FONT color=#000000>main()<BR></FONT></SPAN><SPAN id=Codehighlighter1_23_143_Open_Text><FONT color=#000000><SPAN style="COLOR: #000000">{<BR>&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: #0000ff">float</SPAN></FONT><FONT color=#000000><SPAN>&nbsp;a,b,c,d;<BR>&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%f%f%f%f</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,&amp;a,&amp;b</SPAN><SPAN style="COLOR: #000000">,&amp;c</SPAN><SPAN style="COLOR: #000000">,&amp;d</SPAN></FONT><FONT color=#000000><SPAN>)==4)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%.2f\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,sqrt((</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">-c</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">-c</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">(b</SPAN><SPAN style="COLOR: #000000">-d</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">(b</SPAN></FONT><SPAN><FONT color=#000000>-d)));<BR>}</FONT></SPAN></SPAN></DIV><FONT color=#000000>默认函数返回类型为int,返回值？我管它是多少呢，短就行了。去掉不必要的空白。<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><SPAN style="COLOR: #000000">#include</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN></FONT><FONT color=#000000><SPAN>math.h&gt;<BR></SPAN><SPAN style="COLOR: #000000">main()</SPAN><SPAN id=Codehighlighter1_23_143_Open_Text><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #0000ff">float</SPAN><SPAN style="COLOR: #000000">&nbsp;a,b,c,d</SPAN><SPAN style="COLOR: #000000">;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(scanf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%f%f%f%f</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,&amp;a,&amp;b</SPAN><SPAN style="COLOR: #000000">,&amp;c</SPAN><SPAN style="COLOR: #000000">,&amp;d</SPAN><SPAN style="COLOR: #000000">)==4</SPAN><SPAN style="COLOR: #000000">)printf(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%.2f\n</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,sqrt((</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">-c</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">-c</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">(b</SPAN><SPAN style="COLOR: #000000">-d</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">(b</SPAN><SPAN style="COLOR: #000000">-d</SPAN><SPAN style="COLOR: #000000">)));}</SPAN></SPAN></FONT></DIV><FONT color=#000000>125<BR>可惜，怎么还得留着math.h，否则sqrt未定义的情况c语言认为它是一个返回int的函数，于是链接时没能链接到我们想要的函数。<BR>继续缩短，那段差的平方很扎眼，那么多括号。scanf的返回值比3大和等于4也差不多了，总不至于要求4个输入，却得到5个吧。也改了<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><FONT color=#000000>#include&lt;math.h&gt;<BR>main(){float a,b,c,d;while(scanf("%f%f%f%f",&amp;a,&amp;b,&amp;c,&amp;d)&gt;3)a-=c,b-=d,printf("%.2f\n",sqrt(a*a+b*b));}</FONT></SPAN></DIV><FONT color=#000000>118<BR>while和for的长度其实是一样的，虽然for比while少2个字母，但for语句要多2个分号。算是打平，不过其实不然。注意当循环体有多句的时候，把最后一句放到for的末尾，还可以节约一个逗号- -<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><FONT color=#000000>#include&lt;math.h&gt;<BR>main(){float a,b,c,d;for(;scanf("%f%f%f%f",&amp;a,&amp;b,&amp;c,&amp;d)&gt;3;printf("%.2f\n",sqrt(a*a+b*b)))a-=c,b-=d;}</FONT></SPAN></DIV><FONT color=#000000>117<BR>那个包含文件真讨厌，而且非得换行。要是能去掉它就好了。既然我只是为了要sqrt，为什么不自己声明一下呢。 </FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><FONT color=#000000>double sqrt();main(){float a,b,c,d;for(;scanf("%f%f%f%f",&amp;a,&amp;b,&amp;c,&amp;d)&gt;3;printf("%.2f\n",sqrt(a*a+b*b)))a-=c,b-=d;}</FONT></SPAN></DIV><FONT color=#000000>114<BR>嗯，看来确实短了一些。double和float能通用吗？也许不能吧，要不试试？<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><FONT color=#000000>float&nbsp;sqrt();main(){float a,b,c,d;for(;scanf("%f%f%f%f",&amp;a,&amp;b,&amp;c,&amp;d)&gt;3;printf("%.2f\n",sqrt(a*a+b*b)))a-=c,b-=d;}</FONT></SPAN></DIV><FONT color=#000000>113<BR>居然可以，输出结果正确。奇怪啊...反编译一下。哦。原来作为参数，float也被转为double类型压栈。这个可能不太保险，天知道是不是所有机器都压double呢- -。不过好在这里能凑合，那x86的估计也都能。<BR>啊呀，我傻啊，为什么有2个float在代码里！怎么不把它们合并了？<BR></FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><FONT color=#000000>main(){float sqrt(),a,b,c,d;for(;scanf("%f%f%f%f",&amp;a,&amp;b,&amp;c,&amp;d)&gt;3;printf("%.2f\n",sqrt(a*a+b*b)))a-=c,b-=d;}</FONT></SPAN></DIV><FONT color=#000000>107<BR>农夫三拳想出了一个方法，他提示到“-1的二进制”。哦！对了，当scanf遇到输入结束时返回EOF，那就是-1。-1的二进制为全1，也就是说反码为0。好吧，感谢农夫三拳让我再缩短一个字节，让&gt;3见鬼去吧～ </FONT>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><FONT color=#000000>main(){float sqrt(),a,b,c,d;for(;~scanf("%f%f%f%f",&amp;a,&amp;b,&amp;c,&amp;d);printf("%.2f\n",sqrt(a*a+b*b)))a-=c,b-=d;}</FONT></SPAN></DIV><FONT color=#000000>106<BR>结束...<BR>如果您有更bt的想法能缩短代码，请别忘了告诉我～</FONT><img src ="http://www.cnblogs.com/kaikai/aggbug/817889.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42979/" target="_blank">[新闻]微软终于发布Silverlight 2正式版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>MBTI职业性格测试（Psytopic特别版）</title><link>http://www.cnblogs.com/kaikai/archive/2007/05/08/739503.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Tue, 08 May 2007 13:08:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2007/05/08/739503.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/739503.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2007/05/08/739503.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/739503.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/739503.html</trackback:ping><description><![CDATA[我的结果：<BR>Psytopic分析：您的性格类型是“<STRONG>ISTP</STRONG>”(内向+实感+思维+知觉) <BR><BR>容忍，有弹性；是冷静的观察者，但当有问题出现，便迅速行动，找出可行的解决方法。能够分析哪些东西可以使事情进行顺利，又能够从大量资料中，找出实际问题的重心。很重视事件的前因后果，能够以理性的原则把事实组织起来，重视效率。 <BR><BR>ISTP型的人坦率、诚实、讲求实效，他们喜欢行动而非漫谈。他们很谦逊，对于完成工作的方法有很好的理解力。 ISTP型的人擅长分析，所以他们对客观含蓄的原则很有兴趣。他们对于技巧性的事物有天生的理解力，通常精于使用工具和进行手工劳动。他们往往做出有条理而保密的决定。他们仅仅是按照自己所看到的、有条理而直接地陈述事实。 ISTP型的人好奇心强，而且善于观察，只有理性、可靠的事实才能使他们信服。他们重视事实，简直就是有关他们知之甚深的知识的宝库。他们是现实主义者，所以能够很好地利用可获得的资源，同时他们擅于把握时机，这使他们变得很讲求实效。ISTP型的人平和而寡言，往往显得冷酷而清高，而且容易害羞，除了是与好朋友在一起时。他们平等、公正。他们往往受冲动的驱使，对于即刻的挑战和问题具有相当的适应性和反应能力。因为他们喜欢行动和兴奋的事情，所以他们乐于户外活动和运动。 <BR><BR>您适合的领域有：技术领域 证券、金融业、贸易、商业领域 户外、运动、艺术等<BR><BR>您适合的职业有：<BR><BR>· 信息服务业经理<BR>· 计算机程序员<BR>· 警官<BR>· 软件开发员<BR>· 律师助理<BR>· 消防员<BR>· 私人侦探<BR>· 药剂师 <BR>· 证券分析员<BR>· 银行职员<BR>· 管理顾问<BR>· 财务顾问<BR>· 电子专业人士<BR>· 技术培训人员<BR>· 信息服务开发人员<BR>· 软件开发商<BR>· 海洋生物学者<BR>· 后勤与供应经理<BR>· 经济学者<BR>· 贸易商<BR>· 商品经销商<BR>· 产品代理商（有形产品）<BR>· 警察<BR>· 侦探<BR>· 体育工作者<BR>· 赛车手<BR>· 飞行员<BR>· 雕塑家<BR>· 手工制作<BR>· 画家<img src ="http://www.cnblogs.com/kaikai/aggbug/739503.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42977/" target="_blank">[新闻]微软首次打破先例 Windows 7不再改名</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>使用Sketchup作为nebula2的场景编辑器[编写中]</title><link>http://www.cnblogs.com/kaikai/archive/2007/04/04/700539.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Wed, 04 Apr 2007 15:43:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2007/04/04/700539.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/700539.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2007/04/04/700539.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/700539.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/700539.html</trackback:ping><description><![CDATA[<P>使用Sketchup作为nebula2的场景编辑器<BR>--kaikai</P>
<P>极短的简介<BR>==========<BR>Sketchup作为一个快速建模软件，有着易学易用、简洁高效的特点。十分适合美术以及关卡设计师使用。</P>
<P>组件 Component<BR>==============<BR>要编辑场景，必须把各个需要用到的模型转为组件，然后在把组建拖放到场景内摆放组合。组件区别于实际用于游戏中的组件模型，它可以是组件模型的简化甚至可以是象征。<BR>概念<BR>&nbsp;组件定义Component Definition<BR>&nbsp; 组件的内容<BR>&nbsp;组件实例Component Instance<BR>&nbsp; 组件在场景的引用，包含位置、方向、缩放、别名等信息<BR>规则<BR>&nbsp;1 组件要导出必须有文件名（注意此条规则可以去除，保留它仅仅了导出后可以导入）<BR>&nbsp;2 组件实例可以自定义组件名：右键点击组件实例，选择Entity Info，在弹出的Entity Info窗口内Name字段填写。<BR>&nbsp; 自定义组件名用于程序识别组件的逻辑意义。比如同样的多个交通灯组件实例，可以分别定义组件名为：TrafficLightA, TrafficLightB, TrafficLightC等。</P>
<P>额外的配置文件<BR>==============<BR>为了赋予组件更多的功能，需要提供更多的信息来区分组件的性质。使用一个额外的配置文件来保存这些信息<BR>概念<BR>&nbsp;唯一名称 Unique name<BR>&nbsp; 组件定义的文件名，如 box.skp<BR>&nbsp;自定义组件名 Name<BR>&nbsp; 标志组件逻辑的名字，参见 组件-规则-2<BR>&nbsp;输出路径 path<BR>&nbsp; 相对路径，按组件类型不同对应不同的根路径<BR>&nbsp;摆放类型 Transform<BR>&nbsp; 由平移(Position)、旋转(Rotation)、缩放/拉伸(Scale)的缩写PRS组成，如P,R,S,PR,PS,RS,PRS<BR>&nbsp;类型<BR>&nbsp; 区分组件使用方法的名字，分为Graphics,Triggers,Collision,NamedPos等<BR>&nbsp;Graphics<BR>&nbsp; 场景元素，组件是任意网格模型，可以被平移、旋转、缩放/拉伸(PRS)。<BR>&nbsp;Triggers<BR>&nbsp; 触发器，组件是单位立方体，可以平移、旋转、缩放/拉伸(PRS)。<BR>&nbsp;Collision<BR>&nbsp; 场景物理碰撞模型，组件是任意网格模型，可以平移、旋转(PR)但不能缩放/拉伸(S)。（ode不支持geom的缩放/拉伸）<BR>&nbsp; 也可以是单位立方体/单位球/单位胶囊体(单位圆柱体两侧连2个单位半球体)，可以平移、旋转、缩放/拉伸。（通过ode的内置几何体参数实现缩放/拉伸）球体只能缩放，不能拉伸；胶囊体只能缩放不能拉伸，但可以把圆柱体部分拉伸。<BR>&nbsp;NamedPos<BR>&nbsp; 出生点SpawnPos, 目标点ExitPos等等逻辑坐标。可以平移、旋转(PR)。<BR>规则<BR>&nbsp;1 Graphics组件的配置文件信息包含：unique name, name, path, transform, type。其中type为区分</P>
<P><BR>导出流程<BR>========<BR>&nbsp;1 带有组件的skp -(使用本项目附带的sketchup插件导出)-&gt; map文件<BR>&nbsp;2 map文件 + xml配置文件 -(map2xml转换)-&gt; 场景xml文件<BR>&nbsp;3 场景xml文件 -(nsketchupmaploader读取)-&gt; mangalore场景</P>
<P>&nbsp;</P><img src ="http://www.cnblogs.com/kaikai/aggbug/700539.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42976/" target="_blank">[新闻]亚马逊EC2云计算计划支持Windows操作系统</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[Nebula2]使用3dmax7,nmaxtoolbox导出模型到nebul­a2遇到的问题及解决方法</title><link>http://www.cnblogs.com/kaikai/archive/2006/10/13/528106.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Fri, 13 Oct 2006 03:30:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2006/10/13/528106.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/528106.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2006/10/13/528106.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/528106.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/528106.html</trackback:ping><description><![CDATA[<DIV style="PADDING-LEFT: 6px"><A name=msg_da93f4eb9c2d7e3d></A><FONT class=fixed_width face="Courier, Monospaced"><FONT face="Courier New" size=2>1. 长度单位 <BR>假设nebula2内使用opende，其长度单位一般当作公制的米（也可以根据需要调整重力加速度质量等的比例来使用其他单位）。 <BR>3dmax内可以调整内部数据使用的长度单位。 <BR>Customise-&gt;Units Setup...-&gt;System Unit Setup <BR>调整为任意单位，只需要保证Unit <BR>Setup内的显示单位(Display Unit <BR>Scale)与之匹配，则导出时的'数据'尺寸就是Measure中查看到的值。 <BR>Nebula Export Options内有一个Scale Geometry <BR>By的参数，改为1.0则可以保持尺寸不变。（默认值为0.01，此时建议设置System <BR>Unit为厘米、 <BR></FONT>
<P>显示单位为米以保证程序内使用的长度单位与模型制作时的单位一致） <BR>
<P>2. 坐标轴 <BR>3dsmax是右手系坐标轴，z轴正方向向上。而nebula2则是右手系，y轴正方向向上。这个变化由nmaxtoolbox导出时自动进行转换。 <BR>
<P>3. 渲染结点包围盒偏移 <BR>无骨骼模型在进行了一系列的变换后会产生变换，其结果是包含整个模型的ntransformnode结点的包围盒与实际看到的对象的包围盒不一致。这在 <BR>
<P>进行对象可见裁减时将得到错误的结果。 <BR>解决方法有2种：第一种是模型变换后进行Reset <BR>XForm并重新转为editable mesh <BR>第二种则是程序中所有对象的可见裁减不以模型为单位，而以实际的nshapenode为单位。（该方法仅是设想，未尝试） <BR>
<P>4. 层次结构的模型动画 <BR>模型之间设置父子关系，子模型会收到父模型动画的影响，如模拟监视器探头的2个不同轴向的关节。只需要分别设置父子的相对动画过程即可。 <BR>
<P>5. 骨骼动画与程序中模型的装配连接 <BR>模型可以通过绑定骨骼的方式得到装配点，但装配点骨骼方向需要设置为方向(0,0,0)（即指向3dsmax的x轴正方向）才能得到模型向正上方。 <BR>程序中可以直接取装配点骨骼的变换矩阵乘到装配模型的变换矩阵内。 <BR>如：坦克炮塔，炮塔装配在坦克上方。炮管装配在炮塔前部。 <BR>&nbsp; &nbsp; // set tank tower <BR>&nbsp; &nbsp; mx.ident(); <BR>&nbsp; &nbsp; mx.rotate_y(this-&gt;tower_turn.x); // 坦克炮塔水平转向 <BR>&nbsp; &nbsp; if (this-&gt;joint[0]) <BR>&nbsp; &nbsp; { <BR>&nbsp; &nbsp; &nbsp; &nbsp; mx *= this-&gt;joint[0]-&gt;GetMatrix(); // 装配骨骼 <BR>&nbsp; &nbsp; } <BR>&nbsp; &nbsp; mx *= mx_tank; // 坦克变换矩阵 <BR>&nbsp; &nbsp; this-&gt;tower-&gt;Transform().setmatrix(mx); <BR>&nbsp; &nbsp; this-&gt;tower-&gt;Render(); <BR>
<P>&nbsp; &nbsp; // set tank gun <BR>&nbsp; &nbsp; mx.ident(); <BR>&nbsp; &nbsp; mx.rotate_x(this-&gt;tower_turn.y); // 炮管上下转 <BR>&nbsp; &nbsp; if (this-&gt;joint[1]) <BR>&nbsp; &nbsp; { <BR>&nbsp; &nbsp; &nbsp; &nbsp; mx *= this-&gt;joint[1]-&gt;GetMatrix(); // 炮管装在炮塔上 <BR>&nbsp; &nbsp; } <BR>&nbsp; &nbsp; mx.rotate_y(this-&gt;tower_turn.x); // 炮塔水平转 <BR>&nbsp; &nbsp; if (this-&gt;joint[0]) <BR>&nbsp; &nbsp; { <BR>&nbsp; &nbsp; &nbsp; &nbsp; mx *= this-&gt;joint[0]-&gt;GetMatrix(); // 炮塔装在坦克上 <BR>&nbsp; &nbsp; } <BR>&nbsp; &nbsp; mx *= mx_tank; // 坦克的变换矩阵 <BR>
<P>&nbsp; &nbsp; this-&gt;gun-&gt;Transform().setmatrix(mx); <BR>&nbsp; &nbsp; this-&gt;gun-&gt;Render(); <BR><FONT face="Courier New"><FONT size=2>6. 阴影体的制作和导出 <BR>阴影体用来生成shadow <BR>volume，nebula2需要模型制作对应的阴影体才能生成shadow <BR>volume。 <BR>阴影体分为两类，static shadow和skinned shadow。 <BR>阴影体必须是闭合的，否则生成的阴影在边界处会显示出多余的阴影片。 <BR>多个阴影体可以相交或重合。 <BR>3dsmax中制作阴影体可以复制原模型然后修改mesh <BR>options为shadow后导出。 <BR>如果使用skinned <BR>shadow,则在阴影体上添加skin这个modifier后最终导出时需要选择包含mesh <BR>options的modifier再导出（可能是nmaxtoolbox的缺陷）否则导出时阴影体被认为是普通模型。 <BR><BR>阴影体制作补充 <BR>阴影体的闭合不仅要把阴影体模型的洞补上，而且从原模型复制来的阴影体如果是多重纹理的需要把阴影体纹理统一到同一个纹理空间，否则导出的阴影体将会按多重纹理&shy;把阴影体切分成为不闭合的多个模型。 <BR><BR><BR>===========================<BR></FONT></P>
<DIV style="PADDING-LEFT: 6px"><A name=msg_3677d376e55fd7c8></A><FONT class=fixed_width face="Courier, Monospaced"><FONT face="Courier New" size=2>放出我正在使用中的nmaxtoolbox。修改内容如下： <BR>1. <BR>光源导出castshadows参数；点光源(Omni/Point)导出LightRange参数(默认为500.f) <BR>2. <BR>材质导出renderpri参数，nebula2中使用它对物体进行渲染排序 <BR>3. <BR>纹理默认值，使用shaders:shaders.xml中定义的默认值（仅支持AmbientMap0，BumpMap0，DiffMap0）官方最近的更新&shy;支持所有类型的纹理，但各类型固定了默认值。 <BR>4. 为了配合nebula2的shadow2，阴影体单独导出mesh文件： <BR>static <BR>shadow导出带有_shadow后缀的mesh文件，顶点格式COORD, <BR>3个float <BR>skinned <BR>shadow导出带有_skinnedshadow后缀的mesh文件，顶点格式COORD, <BR>WEIGHT, JINDICES, 11个float <BR>5. export菜单不调用nviewer。 <BR></FONT>
<P><FONT size=2>下载地址： <BR></FONT><A href="http://zikaizhang.googlepages.com/nmaxtoolbox_2006_10_12.exe" target=_blank><FONT color=#0000cc size=2>http://zikaizhang.googlepages.com/nmaxtoolbox_2006_10_12.exe</FONT></A><FONT size=2> <BR></FONT></FONT></P></DIV></FONT></FONT></DIV><img src ="http://www.cnblogs.com/kaikai/aggbug/528106.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42975/" target="_blank">[新闻]鲍尔默失望变希望 幸亏当初未收购雅虎</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>坦克物理模型(ode)</title><link>http://www.cnblogs.com/kaikai/archive/2006/08/16/478825.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Wed, 16 Aug 2006 14:49:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2006/08/16/478825.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/478825.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2006/08/16/478825.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/478825.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/478825.html</trackback:ping><description><![CDATA[使用ode来模拟坦克的运动，坦克不像普通四轮车（可以用hing2来实现车轮），为了表现出履带在地面接触处提供动力，选用contact motion，原用来实现传送带效果。<BR><BR>方法：坦克连同履带在一起一个body，坦克机体使用box geom，2个履带用2个box geom代替。<BR>2条履带的动力通过计算得到转速（表面线速度），并把坦克的向前方向矢量保存。<BR>碰撞检测到履带接触地面时，设置dContactMotion1为履带转动速度，ContactSlip设置在1e-5，使得履带在地面上不易打滑。soft_cfm设为0（地面很硬，无弹性），fDir1设为坦克前向矢量方向。摩擦系数需要大一些。<BR>履带转速需要根据当前接触地面的速度动态调整，防止太大的速度差使得坦克翘起。<BR>实际运行在爬坡和转向时感觉还不错，不过偶尔有地表微小的起伏对履带 box 有阻挡现象。可以考虑在坦克前后再加上倾斜的box模拟履带前后的角度。<BR><BR>这里还有一个坦克物理模型。和我的原理不同，它用ray来检测履带是否接触地表，并通过直接施加力在坦克的左右侧来驱动坦克。效果也很不错。<BR><A href="http://www.mindcontrol.org/~hplus/carworld.html">http://www.mindcontrol.org/~hplus/carworld.html</A><BR><BR>不过毕竟只是游戏中才有机会操控坦克...究竟模拟得像不像就不知道了。<BR><img src ="http://www.cnblogs.com/kaikai/aggbug/478825.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42974/" target="_blank">[新闻]微软12月举办硬件工程大会 Windows7将首次亮相</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>失败，身体真差- -</title><link>http://www.cnblogs.com/kaikai/archive/2006/07/29/462830.html</link><dc:creator>kaikai</dc:creator><author>kaikai</author><pubDate>Sat, 29 Jul 2006 08:05:00 GMT</pubDate><guid>http://www.cnblogs.com/kaikai/archive/2006/07/29/462830.html</guid><wfw:comment>http://www.cnblogs.com/kaikai/comments/462830.html</wfw:comment><comments>http://www.cnblogs.com/kaikai/archive/2006/07/29/462830.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/kaikai/comments/commentRss/462830.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/kaikai/services/trackbacks/462830.html</trackback:ping><description><![CDATA[收到骨髓库通知，要换新卡血检。今天跑去填资料时有一项是否有过不能献血的其他疾病而被拒绝鲜血，想起大学时献血验血检出胆红质偏高而被拒绝。然后告诉我不用参加血检了。原卡作废，“保留做纪念吧。”“哦，这就结束了？”<BR><BR>看来我果然是非正常人类了- -<img src ="http://www.cnblogs.com/kaikai/aggbug/462830.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42973/" target="_blank">[新闻]电脑程序与12位真人聊天 “艾尔博特”骗过3人</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>