﻿<?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>C++博客-just Programme-文章分类-C++小程序</title><link>http://www.cppblog.com/jeonchen/category/1743.html</link><description>编程是个很长的路程</description><language>zh-cn</language><lastBuildDate>Mon, 26 May 2008 14:30:56 GMT</lastBuildDate><pubDate>Mon, 26 May 2008 14:30:56 GMT</pubDate><ttl>60</ttl><item><title>打印年历</title><link>http://www.cppblog.com/jeonchen/articles/7071.html</link><dc:creator>SmallTalk</dc:creator><author>SmallTalk</author><pubDate>Sat, 13 May 2006 08:23:00 GMT</pubDate><guid>http://www.cppblog.com/jeonchen/articles/7071.html</guid><wfw:comment>http://www.cppblog.com/jeonchen/comments/7071.html</wfw:comment><comments>http://www.cppblog.com/jeonchen/articles/7071.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jeonchen/comments/commentRss/7071.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jeonchen/services/trackbacks/7071.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#008000">//calendar.cpp----打印某年年历</font>
				<br />#include &lt;iostream.h&gt;<br />#include &lt;iomanip.h&gt;<br />int year;<br />int weekday;</p>
		<p>
				<font color="#008000">//---------------------------------------</font>
				<br />void PrintMonth(int m);<font color="#008000">//打印每个月</font><br />void PrintHead(int m);<font color="#008000">//打印月标题</font><br />int DaysOfMonth(int m);<font color="#008000">//计算每个月天数</font><br />bool IsLeapYear(int m);<font color="#008000">//闰年判断</font><br />long WeekdayOfYear(int y);<font color="#008000">//某年的第一天</font><br /><font color="#008000">//---------------------------------------</font><br />int main()<br />{<br /> <font color="#008000">//打印年历头</font><br /> cout &lt;&lt; "please enter the year:";<br /> cin &gt;&gt; year;<br /> if (year&lt;1)<br />  cout &lt;&lt; "输入的年不能小于1!"&lt;&lt;endl;<br /> cout &lt;&lt;"＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝"&lt;&lt;endl;<br /> cout &lt;&lt; "                       "&lt;&lt;year&lt;&lt;"年               "&lt;&lt;endl;<br /> cout &lt;&lt;"＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝"&lt;&lt;endl;<br /> <font color="#008000">//求开头第一天星期几</font><br /> weekday=WeekdayOfYear(year);<br /><font color="#008000"> //打印每个月</font><br /> for (int i=1;i&lt;=12;i++)<br />  PrintMonth(i);<br /> <br /> return (0);<br />}</p>
		<p>
				<font color="#008000">//-----------------------------------------</font>
				<br />void PrintMonth(int m)<br />{<br /><font color="#008000"> //打印月标题</font><br /> PrintHead(m);<br /> <font color="#008000">//计算每个月天数</font><br /> int days=DaysOfMonth(m);<br /><font color="#008000"> //打印日期</font><br /> for (int i=1;i&lt;=days;i++)<br /> {<br />  cout &lt;&lt; setw(5)&lt;&lt;i;<br />  weekday=(weekday+1)%7;<br />  if (weekday%7==0)<br />  {<br />   cout &lt;&lt; endl;<br />   cout &lt;&lt; "          ";<br />  }<br /> }<br /> cout &lt;&lt;endl;<br />}</p>
		<p>
				<font color="#008000">//-------------------------------------------</font>
				<br />void PrintHead(int m)<br />{<br /> cout &lt;&lt; setw(3)&lt;&lt;m&lt;&lt;"月"&lt;&lt;"        日   一   二   三  四   五   六"&lt;&lt;endl;<br /> cout &lt;&lt;"          ";<br /> for (int i=0;i&lt;weekday;i++)<br />  cout &lt;&lt; "     ";<br />}</p>
		<p>
				<font color="#008000">//--------------------------------------------</font>
				<br />int DaysOfMonth(int m)<br />{<br /> switch (m)<br /> {<br /> case 1:<br /> case 3:<br /> case 5:<br /> case 7:<br /> case 8:<br /> case 10:<br /> case 12: return(31);break;<br /> case 4:<br /> case 6:<br /> case 9:<br /> case 11: return(30);break;<br /> default:<br />  if(IsLeapYear(year))<br />   return(29);<br />  else<br />   return(28);<br /> }<br />}</p>
		<p>
				<font color="#008000">//---------------------------------------------</font>
				<br />bool IsLeapYear(int y)<br />{<br /> return (((y%4==0)&amp;&amp;(y%100!=0))||(y%400==0));<br />}</p>
		<p>
				<font color="#008000">//----------------------------------------------</font>
				<br />long WeekdayOfYear(int y)<br />{<br /> long TotalDay=0;<br /><font color="#008000"> //求总天数</font><br /> for (int i=1;i&lt;=y;i++)<br />  TotalDay+=365;<br /><font color="#008000"> //加上闰年天数</font><br /> for (int j=0;j&lt;=y;j++)<br />  TotalDay+=IsLeapYear(y);<br /> TotalDay%=7;</p>
		<p> return(TotalDay);<br />}</p>
<img src ="http://www.cppblog.com/jeonchen/aggbug/7071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jeonchen/" target="_blank">SmallTalk</a> 2006-05-13 16:23 <a href="http://www.cppblog.com/jeonchen/articles/7071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用单向循环链表实现约瑟夫问题</title><link>http://www.cppblog.com/jeonchen/articles/7070.html</link><dc:creator>SmallTalk</dc:creator><author>SmallTalk</author><pubDate>Sat, 13 May 2006 08:07:00 GMT</pubDate><guid>http://www.cppblog.com/jeonchen/articles/7070.html</guid><wfw:comment>http://www.cppblog.com/jeonchen/comments/7070.html</wfw:comment><comments>http://www.cppblog.com/jeonchen/articles/7070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jeonchen/comments/commentRss/7070.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jeonchen/services/trackbacks/7070.html</trackback:ping><description><![CDATA[
		<p>
				<span style="COLOR: #ff0000">//Jose.cpp----使用单向循环链表实现约瑟夫问题<br />//问题描述：n个人手拉手排成一个环，从第一个人开始数，每数到第m个人，第m个人出列，从下一人重新计数重新数，求全部出列后他们的出列顺序 <br /></span>#include &lt;iostream.h&gt;<br />struct jose<br />{<br /> int data;<br /> int no;<br /> struct jose * next;<br />};</p>
		<p>int main()<br />{<br /> struct jose *head,*p_curent,*p_find;<br /> int n,m;<br /> cout &lt;&lt; "Please enter the total of numbers (n):";<br /> cin &gt;&gt; n;<br /> cout &lt;&lt; "Please enter the counter number (m):";<br /> cin &gt;&gt; m;<br /> <br /><span style="COLOR: #ff0000"> //初始化链表</span><br /> head=p_curent=new jose;<span style="COLOR: #ff0000">//标记首表元地址，即头指针</span><br /> head-&gt;no=1;<br /> cout &lt;&lt; "Please enter the first number :";<br /> cin &gt;&gt;head-&gt;data;<br /><span style="COLOR: #ff0000"> //形成其余的n-1表元</span><br /> cout &lt;&lt; "Please enter last numbers :"&lt;&lt;endl;<br /> for (int i=2;i&lt;=n;i++)<br /> {<br />  p_curent-&gt;next=new jose;<br />  p_curent=p_curent-&gt;next;<br />  cin &gt;&gt; p_curent-&gt;data;<br />  p_curent-&gt;no=i;<br /> }<span style="COLOR: #ff0000">//end for<br /></span> p_curent-&gt;next=head;<span style="COLOR: #ff0000">//尾指针指向头指针，形成环，到这完成初始化链表</span></p>
		<p> <span style="COLOR: #ff0000">//开始查询，第M个人出列，并输出<br /></span> cout &lt;&lt; "Now : The  numbers of who will quit the cycle in turn are:"&lt;&lt;endl;<br /> while (n)<span style="COLOR: #ff0000">//全部出列后结束循环<br /></span> {<br /> <span style="COLOR: #ff0000"> //掠过m－1个表元<br /></span>  for (int j=1;j&lt;m;j++)<br />   p_curent=p_curent-&gt;next;<span style="COLOR: #ff0000">//end for<br /></span><span style="COLOR: #ff0000">  //找到第M个人</span><br />  p_find=p_curent-&gt;next;<br /><span style="COLOR: #ff0000">  //从表中删除第m个人，并输出第m个人<br /></span>  p_curent-&gt;next=p_find-&gt;next;<br />  cout &lt;&lt; p_find-&gt;data&lt;&lt;endl;<br /> <span style="COLOR: #ff0000"> //释放第m个表元占用的空间<br /></span>  delete p_find;<br />  n--;<br /> }<br /><span style="COLOR: #ff0000"> //end while</span><br /> <br /> return 0;<br />}</p>
<img src ="http://www.cppblog.com/jeonchen/aggbug/7070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jeonchen/" target="_blank">SmallTalk</a> 2006-05-13 16:07 <a href="http://www.cppblog.com/jeonchen/articles/7070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>