﻿<?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++博客-长寿梦的笔记本-随笔分类-数据结构与算法</title><link>http://www.cppblog.com/changshoumeng/category/13749.html</link><description>专注于：
1.高性能高并发网络服务端架构
2.分布式系统
3.音视频通信技术
4.数据处理与机器学习
5.网络攻击与信息安全 。
一句话,致力于信息的获取、传输、分析、保护。
</description><language>zh-cn</language><lastBuildDate>Fri, 30 Jan 2015 16:14:41 GMT</lastBuildDate><pubDate>Fri, 30 Jan 2015 16:14:41 GMT</pubDate><ttl>60</ttl><item><title>概率论的总结1</title><link>http://www.cppblog.com/changshoumeng/archive/2015/01/27/209651.html</link><dc:creator>长寿梦</dc:creator><author>长寿梦</author><pubDate>Tue, 27 Jan 2015 10:07:00 GMT</pubDate><guid>http://www.cppblog.com/changshoumeng/archive/2015/01/27/209651.html</guid><wfw:comment>http://www.cppblog.com/changshoumeng/comments/209651.html</wfw:comment><comments>http://www.cppblog.com/changshoumeng/archive/2015/01/27/209651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/changshoumeng/comments/commentRss/209651.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/changshoumeng/services/trackbacks/209651.html</trackback:ping><description><![CDATA[<img src="http://www.cppblog.com/images/cppblog_com/changshoumeng/gailvlun2.jpg" width="537" height="848" alt="" /><img src ="http://www.cppblog.com/changshoumeng/aggbug/209651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/changshoumeng/" target="_blank">长寿梦</a> 2015-01-27 18:07 <a href="http://www.cppblog.com/changshoumeng/archive/2015/01/27/209651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>五种程序设计方法</title><link>http://www.cppblog.com/changshoumeng/archive/2010/07/24/121176.html</link><dc:creator>长寿梦</dc:creator><author>长寿梦</author><pubDate>Sat, 24 Jul 2010 04:58:00 GMT</pubDate><guid>http://www.cppblog.com/changshoumeng/archive/2010/07/24/121176.html</guid><wfw:comment>http://www.cppblog.com/changshoumeng/comments/121176.html</wfw:comment><comments>http://www.cppblog.com/changshoumeng/archive/2010/07/24/121176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/changshoumeng/comments/commentRss/121176.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/changshoumeng/services/trackbacks/121176.html</trackback:ping><description><![CDATA[<table class=MsoNormalTable style="WIDTH: 100%; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 width="100%" border=0>
    <tbody>
        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 15pt; BORDER-TOP: #ebebe4; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top>
            <div align=center>
            <table class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0>
                <tbody>
                    <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><a name=Topic18></a><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 14pt; FONT-FAMILY: 黑体">五种程序设计方法<span lang=EN-US><o:p></o:p></span></span></strong></p>
                        </td>
                    </tr>
                    <tr style="mso-yfti-irow: 1">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><o:p><font face=Calibri>&nbsp;</font></o:p></span></p>
                        <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">转自：</span><span lang=EN-US><font face=Calibri>http://www.neu.edu.cn/cxsj/pointchart/c1/Page19.html</font></span></p>
                        </td>
                    </tr>
                    <tr style="mso-yfti-irow: 2; mso-yfti-lastrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"><font face=Calibri></font></td>
                    </tr>
                </tbody>
            </table>
            </div>
            </td>
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top><font face=Calibri></font></td>
        </tr>
        <tr style="mso-yfti-irow: 1">
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 15pt; BORDER-TOP: #ebebe4; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top>
            <table class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0>
                <tbody>
                    <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"><font face=Calibri></font></td>
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; mso-char-indent-count: 0"><a name=Topic90></a><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 9pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face=Calibri>1.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">结构化程序设计</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt"><font face=Calibri> <span lang=EN-US><o:p></o:p></span></font></span></strong></p>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">为了提高程序的可读性、可重用性等，逐渐出现了将程序开发中经常用到的相同的功能，比如数学函数运算、字符串操作等，独立出来编写成函数，然后按照相互关系或应用领域汇集在相同的文件里，这些文件构成了<span style="COLOR: blue">函数库</span>。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">函数库是一种对信息的封装，将常用的函数封装起来，人们不必知道如何实现它们。只需要了解如何调用它们即可。函数库可以被多个应用程序共享，在具体编程环境中，一般都有一个头文件相伴，在这个头文件中以标准的方式<span style="COLOR: blue">定义了库中每个函数的接口</span>，根据这些接口形式可以在程序中的任何地方调用所需的函数。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; mso-char-indent-count: 2.5"><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">由于函数、库、模块等一系列概念和技术的出现，程序设计逐渐变成如图所示的风格。程序被分解成一个个函数模块，其中既有系统函数，也有用户定义的函数。通过对函数的调用，程序的运行逐步被展开。</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">阅读程序时，由于每一块的功能相对独立，因此对程序结构的理解相对容易，在一定程度上缓解了程序代码可读性和可重用件的矛盾，但并未彻底解决矛盾。随着计算机程序的规模越来越大，这个问题变得更加尖锐，于是出现了另一种编程风格</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>——</font></span><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">结构化程序设计</span></strong><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">在结构化程序设计中，任何程序段的编写都基于</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>3</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">种结构：分支结构、循环结构和顺序结构。</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">程序具有明显的模块化特征，每个程序模块具有惟一的出口和入口语句。结构化程序的结构简单清晰，模块化强，描述方式贴近人们习惯的推理式思维方式。因此可读性强，在软件重用性、软件维护等方面都有所进步，在大型软件开发尤其是大型科学与工程运算软件的开发中发挥了重要作用。因此到目前为止，仍有许多应用程序的开发采用结构化程序设计技术和方法。即使在目前流行的面向对象软件开发中也不能完全脱离结构化程序设计。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="FONT-SIZE: 9pt"><o:p><font face=Calibri>&nbsp;</font></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top><font face=Calibri></font></td>
        </tr>
        <tr style="mso-yfti-irow: 2">
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 15pt; BORDER-TOP: #ebebe4; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top>
            <table class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0>
                <tbody>
                    <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"><font face=Calibri></font></td>
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; mso-char-indent-count: 0"><a name=Topic91></a><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 9pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face=Calibri>2.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">面向对象程序设计</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt"><font face=Calibri> <span lang=EN-US><o:p></o:p></span></font></span></strong></p>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">面向对象的程序役计方法是程序设计的一种新方法。所有面向对象的程序设计语言一般都含有三个方面的语法机制，即对象和类、多态性、继承性。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>1</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">．对象和类</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">对象的概念、原理和方法是面向对象的理序设计语言晕重要的特征。对象是用户定义的类型（称为类）的变量。一个对象是既包含数据又包合操作该数据的代码（函数）的逻辑实体。对象中的这些数据和函数称为对象的成员，即成员数据和成员函数。对象中的成员分为公有的和私有的。<span style="COLOR: red">公有成员是对象与外界的接口界面。外界只能通过调用访问一个对象的公有成员来实现该对象的功能。私有成员体现一个对象的组织形式和功能的实现细节。外界无法对私有成员进行操作。</span>类对象按照规范进行操作，将描述客观事物的数据表达及对数据的操作处理封装在一起，成功地实现了面向对象的程序设计。当用户定义了一个类类型后，就可以在该类型的名下定义变量（即对象）了。<span style="COLOR: red">类是结构体类型的扩充。</span>结构体中引入成员函数并规定了其访问和继承原则后便成了类。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>2</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">．多态性</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">面向对象的程序设计语言支持</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8220;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">多态性</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8221;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">，把一个接口用于一类活动。即</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8220;</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">一个接口多种算法</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8221;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">。具体实施时该选择哪一个算法是由特定的语法机制确定的。</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>C++</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">编译时和运行时都支持多态性。<span style="COLOR: red">编译时的多态性体现在重载函数和重载运算符等方面。运行时的多态性体现在继承关系及虚函数等方面。</span></span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>3</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">．继承性</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>C++</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">程序中，由一个类（称为基类）可以派生出新类（称为派生类）。这种派生的语法机制使得新类的出现轻松自然，使得一个复杂事物可以被顺理成章地归结为由逐层派生的对象描述。</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8220;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">派生</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8221;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">使得程序中定义的类呈层次结构。处于子层的对参既具有其父层对象的共性．又具有自身的特性。继承性是一个类对象获得其基类对象特性的过程。</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>C++</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">中严格地规定了派生类对其基类的继承原则和访问权限，使得程序中对数据和函数的访间，需在家族和朋友间严格区分。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="FONT-SIZE: 9pt"><o:p><font face=Calibri>&nbsp;</font></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top><font face=Calibri></font></td>
        </tr>
        <tr style="mso-yfti-irow: 3">
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 15pt; BORDER-TOP: #ebebe4; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top>
            <table class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0>
                <tbody>
                    <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"><font face=Calibri></font></td>
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; mso-char-indent-count: 0"><a name=Topic92></a><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 9pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face=Calibri>3.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">事件驱动的程序设计</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt"><font face=Calibri> <span lang=EN-US><o:p></o:p></span></font></span></strong></p>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">事件驱动的程序设计实际上是面向对象程序设计的一个应用，但它目前仅适用于</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>windows</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">系列操作系统</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">。</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>windows</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">环境中的应用程序与</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>MS</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">－</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>DOS</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">环境中的应用程序运行机制不同、设计程序的方式也不一样。</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>windows</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">程序采用事件驱动机制运行，这种事件驱动程序由事件的发生与否来控制，系统中每个对象状态副改变都是事件发生的原由或结果，设计程序时需以一种非顺序方式处理事件，与顺序的、<span style="COLOR: red">过程驱动的传统程序设计方法迥异</span>。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">事件也称消息，含义比较广泛，常见的事件有鼠标事件</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>(</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">如民标移动、单击、掠过窗口边界</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>)</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">、键盘事件</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>(</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">如按键的压下与拾起</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>)</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">等多种。应用程序运行经过一系列必要的初始化后，将进入等待状态，等待有事件发生，一旦事件出现，程序就被激活并进行相应处理。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">事件驱动程序设计是围绕着消息的产生与处理进行的．消息可来自程序中的某个对象，也可由用户、</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>wlndow s</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">或运行着的其他应用程序产生。每当事件发生时，</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>Windows</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">俘获有关事件，然后将消息分别转发到相关应用程序中的有关对象，需要对消息作出反应的对象应该提供消息处理函数，通过这个消息处理函数实现对象的一种功能或行为。所<span style="COLOR: red">以编写事件驱动程序的大部分工作是为各个对象</span></span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>(</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">类</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>)</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">添加各种消息的处理函数</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">。由于一个对象可以是消息的接收者，同时也可能是消息的发送者，所发送的消息与接收到的消息也可以是相同的消息，而有些消息的发出时间是无法预知的</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>(</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">比如关于键盘的消息</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>)</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">，因此应用程序的执行顺序是无法预知的。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top></td>
        </tr>
        <tr style="mso-yfti-irow: 4">
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 15pt; BORDER-TOP: #ebebe4; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top>
            <table class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0>
                <tbody>
                    <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"></td>
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; mso-char-indent-count: 0"><a name=Topic93></a><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 9pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face=Calibri>4.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">逻辑式对象程序设计</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt"><font face=Calibri> <span lang=EN-US><o:p></o:p></span></font></span></strong></p>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">逻辑式程序设计的概念来自逻辑式程序设计语言</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>Prolog</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">这一曾经在计算机领域引起震动的日本</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8220;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">第五代</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8221;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">计算机的基本系统语言，在这种</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8220;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">第五代</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#8221;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">计算机中，</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>Prolog</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">的地位相当于当前计算机中的机器语言。</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; mso-char-indent-count: 2.5"><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><font face=Calibri>Prolog</font></span><span style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">主要应用在人工智能领域</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">，在自然语言处理、数据库查询、算法描述等方面都有应用，<span style="COLOR: red">尤其适于作为专家系统的开发工具。</span></span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; mso-char-indent-count: 2.5"><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>Prolog</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">是一种陈述式语言，它不是一种严格的通用程序设计语言，使用</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>Prolog</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">编写程序不需要描述具体的解题过程、只需结出一些必要的事实和规则，这些规则是解决问题方法的规范说明，根据这些规则和事实．计算机利用渭词逻辑，通过演绎推理得到求解问题的执行序列。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top></td>
        </tr>
        <tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes">
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 15pt; BORDER-TOP: #ebebe4; PADDING-LEFT: 7.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent" vAlign=top>
            <table class=MsoNormalTable style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellPadding=0 border=0>
                <tbody>
                    <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"></td>
                        <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ebebe4; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent">
                        <p class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; mso-char-indent-count: 0"><a name=Topic94></a><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 9pt; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><font face=Calibri>5.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">并行程序设计</span></strong><strong style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 9pt"><font face=Calibri> <span lang=EN-US><o:p></o:p></span></font></span></strong></p>
                        </td>
                    </tr>
                </tbody>
            </table>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">一个有实际应用的并行算法，最终总要在并行机上实现，为此首先就要将并行算法转化为并行程序，此过程就是所谓的并行程序设计</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>(Parallel Program)</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">。它要求算法设计者、系统结构师和软件工作者广泛频繁的交互。因为设计并行程序涉及到的知识面较广，主要包括操作系统中的有关知识和优化编译方面的知识。操作系统内容非常丰富，并行程序中最基本的计算要素如任务、进程、线程等基本概念、同步机制和通信操作等。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">目前并行程序设计的状况是：</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑴</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">并行软件的发展落后于并行硬件；</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑵</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">和串行系统与应用软件相比，现今的并行系统与应用软件甚少且不成熟；</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑶</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">并行软件的缺乏是发展并行计算的主要障碍；</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑷</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">不幸的是，这种状态似乎仍在继续着。究其原因是并行程序设计远比串行程序设计复杂：</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑴</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">并行程序设计不但包含了串行程序设计，面且还包含了更多的富有挑战性的问题；</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑵</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">串行程序设计仅有一个普遍被接受的冯</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#183;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">诺依曼计算模型，而并行计算模型虽有好多，但没有一个可被共同认可的像冯</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>&#183;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">诺依曼那样的优秀模型；</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑶</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">并行程序设计对环境工具</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>(</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">如编译、查错等</span><span lang=EN-US style="FONT-SIZE: 9pt"><font face=Calibri>)</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">的要求远比串行程序设计先进得多；</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体">⑷</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-fareast-font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin">串行程序设计比较适合于自然习惯，且人们在过去积累了大量的编程知识、经验和宝贵的软件财富。</span><span lang=EN-US style="FONT-SIZE: 9pt"><o:p></o:p></span></p>
            </td>
            <td style="BORDER-RIGHT: #ebebe4; PADDING-RIGHT: 0cm; BORDER-TOP: #ebebe4; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ebebe4; PADDING-TOP: 0cm; BORDER-BOTTOM: #ebebe4; BACKGROUND-COLOR: transparent"></td>
        </tr>
    </tbody>
</table>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="FONT-SIZE: 9pt"><o:p><font face=Calibri>&nbsp;</font></o:p></span></p>
<img src ="http://www.cppblog.com/changshoumeng/aggbug/121176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/changshoumeng/" target="_blank">长寿梦</a> 2010-07-24 12:58 <a href="http://www.cppblog.com/changshoumeng/archive/2010/07/24/121176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>八皇后问题</title><link>http://www.cppblog.com/changshoumeng/archive/2010/05/08/114831.html</link><dc:creator>长寿梦</dc:creator><author>长寿梦</author><pubDate>Sat, 08 May 2010 02:29:00 GMT</pubDate><guid>http://www.cppblog.com/changshoumeng/archive/2010/05/08/114831.html</guid><wfw:comment>http://www.cppblog.com/changshoumeng/comments/114831.html</wfw:comment><comments>http://www.cppblog.com/changshoumeng/archive/2010/05/08/114831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/changshoumeng/comments/commentRss/114831.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/changshoumeng/services/trackbacks/114831.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;NUM&nbsp;8&nbsp;/*定义数组的大小*/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[NUM</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_70_1526_Open_Image onclick="this.style.display='none'; Codehighlighter1_70_1526_Open_Text.style.display='none'; Codehighlighter1_70_1526_Closed_Image.style.display='inline'; Codehighlighter1_70_1526_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_70_1526_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_70_1526_Closed_Text.style.display='none'; Codehighlighter1_70_1526_Open_Image.style.display='inline'; Codehighlighter1_70_1526_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_70_1526_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_70_1526_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,k,flag,not_finish</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,count</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_116_153_Open_Image onclick="this.style.display='none'; Codehighlighter1_116_153_Open_Text.style.display='none'; Codehighlighter1_116_153_Closed_Image.style.display='inline'; Codehighlighter1_116_153_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_116_153_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_116_153_Closed_Text.style.display='none'; Codehighlighter1_116_153_Open_Image.style.display='inline'; Codehighlighter1_116_153_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_116_153_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_116_153_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">正在处理的元素下标，表示前i-1个元素已符合要求，正在处理第i个元素</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_165_180_Open_Image onclick="this.style.display='none'; Codehighlighter1_165_180_Open_Text.style.display='none'; Codehighlighter1_165_180_Closed_Image.style.display='inline'; Codehighlighter1_165_180_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_165_180_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_165_180_Closed_Text.style.display='none'; Codehighlighter1_165_180_Open_Image.style.display='inline'; Codehighlighter1_165_180_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;a[</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">;&nbsp;</span><span id=Codehighlighter1_165_180_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_165_180_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">为数组的第一个元素赋初值</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">The&nbsp;possible&nbsp;configuration&nbsp;of&nbsp;8&nbsp;queens&nbsp;are:\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_263_285_Open_Image onclick="this.style.display='none'; Codehighlighter1_263_285_Open_Text.style.display='none'; Codehighlighter1_263_285_Closed_Image.style.display='inline'; Codehighlighter1_263_285_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_263_285_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_263_285_Closed_Text.style.display='none'; Codehighlighter1_263_285_Open_Image.style.display='inline'; Codehighlighter1_263_285_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(not_finish)&nbsp;</span><span id=Codehighlighter1_263_285_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_263_285_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">not_finish=1:处理尚未结束</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_289_1503_Open_Image onclick="this.style.display='none'; Codehighlighter1_289_1503_Open_Text.style.display='none'; Codehighlighter1_289_1503_Closed_Image.style.display='inline'; Codehighlighter1_289_1503_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_289_1503_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_289_1503_Closed_Text.style.display='none'; Codehighlighter1_289_1503_Open_Image.style.display='inline'; Codehighlighter1_289_1503_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_289_1503_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_289_1503_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">逻辑处理部分------------------------------------------------------------------------</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_408_430_Open_Image onclick="this.style.display='none'; Codehighlighter1_408_430_Open_Text.style.display='none'; Codehighlighter1_408_430_Closed_Image.style.display='inline'; Codehighlighter1_408_430_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_408_430_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_408_430_Closed_Text.style.display='none'; Codehighlighter1_408_430_Open_Image.style.display='inline'; Codehighlighter1_408_430_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(not_finish</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">NUM)&nbsp;</span><span id=Codehighlighter1_408_430_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_408_430_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">处理尚未结束且还没处理到第NUM个元素</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_436_1114_Open_Image onclick="this.style.display='none'; Codehighlighter1_436_1114_Open_Text.style.display='none'; Codehighlighter1_436_1114_Closed_Image.style.display='inline'; Codehighlighter1_436_1114_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_436_1114_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_436_1114_Closed_Text.style.display='none'; Codehighlighter1_436_1114_Open_Image.style.display='inline'; Codehighlighter1_436_1114_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_436_1114_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_436_1114_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_471_487_Open_Image onclick="this.style.display='none'; Codehighlighter1_471_487_Open_Text.style.display='none'; Codehighlighter1_471_487_Closed_Image.style.display='inline'; Codehighlighter1_471_487_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_471_487_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_471_487_Closed_Text.style.display='none'; Codehighlighter1_471_487_Open_Image.style.display='inline'; Codehighlighter1_471_487_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(flag</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;flag</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">k</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">i;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_471_487_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_471_487_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">判断是否有多个皇后在同一行</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[k]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">a[i])&nbsp;flag</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_542_560_Open_Image onclick="this.style.display='none'; Codehighlighter1_542_560_Open_Text.style.display='none'; Codehighlighter1_542_560_Closed_Image.style.display='inline'; Codehighlighter1_542_560_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_542_560_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_542_560_Closed_Text.style.display='none'; Codehighlighter1_542_560_Open_Image.style.display='inline'; Codehighlighter1_542_560_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;flag</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">k</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">i;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_542_560_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_542_560_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">判断是否有多个皇后在同一对角线</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((a[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">a[k]</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i))</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">(a[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">a[k]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i)))&nbsp;flag</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_631_656_Open_Image onclick="this.style.display='none'; Codehighlighter1_631_656_Open_Text.style.display='none'; Codehighlighter1_631_656_Closed_Image.style.display='inline'; Codehighlighter1_631_656_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_631_656_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_631_656_Closed_Text.style.display='none'; Codehighlighter1_631_656_Open_Image.style.display='inline'; Codehighlighter1_631_656_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">flag)&nbsp;</span><span id=Codehighlighter1_631_656_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_631_656_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">若存在矛盾不满足要求，需要重新设置第i个元素</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_661_988_Open_Image onclick="this.style.display='none'; Codehighlighter1_661_988_Open_Text.style.display='none'; Codehighlighter1_661_988_Closed_Image.style.display='inline'; Codehighlighter1_661_988_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_661_988_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_661_988_Closed_Text.style.display='none'; Codehighlighter1_661_988_Open_Image.style.display='inline'; Codehighlighter1_661_988_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_661_988_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_661_988_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_684_710_Open_Image onclick="this.style.display='none'; Codehighlighter1_684_710_Open_Text.style.display='none'; Codehighlighter1_684_710_Closed_Image.style.display='inline'; Codehighlighter1_684_710_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_684_710_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_684_710_Closed_Text.style.display='none'; Codehighlighter1_684_710_Open_Image.style.display='inline'; Codehighlighter1_684_710_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">a[i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">])&nbsp;</span><span id=Codehighlighter1_684_710_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_684_710_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">若a[i]的值已经经过一圈追上a[i-1]的值</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_716_916_Open_Image onclick="this.style.display='none'; Codehighlighter1_716_916_Open_Text.style.display='none'; Codehighlighter1_716_916_Closed_Image.style.display='inline'; Codehighlighter1_716_916_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_716_916_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_716_916_Closed_Text.style.display='none'; Codehighlighter1_716_916_Open_Image.style.display='inline'; Codehighlighter1_716_916_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_716_916_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_716_916_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_730_749_Open_Image onclick="this.style.display='none'; Codehighlighter1_730_749_Open_Text.style.display='none'; Codehighlighter1_730_749_Closed_Image.style.display='inline'; Codehighlighter1_730_749_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_730_749_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_730_749_Closed_Text.style.display='none'; Codehighlighter1_730_749_Open_Image.style.display='inline'; Codehighlighter1_730_749_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_730_749_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_730_749_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">退回一步，重新试探处理前一个元素</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_786_808_Open_Image onclick="this.style.display='none'; Codehighlighter1_786_808_Open_Text.style.display='none'; Codehighlighter1_786_808_Closed_Image.style.display='inline'; Codehighlighter1_786_808_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_786_808_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_786_808_Closed_Text.style.display='none'; Codehighlighter1_786_808_Open_Image.style.display='inline'; Codehighlighter1_786_808_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">a[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">NUM)&nbsp;&nbsp;a[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_786_808_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_786_808_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">当a[i]为NUM时将a[i]的值置1</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_857_874_Open_Image onclick="this.style.display='none'; Codehighlighter1_857_874_Open_Text.style.display='none'; Codehighlighter1_857_874_Closed_Image.style.display='inline'; Codehighlighter1_857_874_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_857_874_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_857_874_Closed_Text.style.display='none'; Codehighlighter1_857_874_Open_Image.style.display='inline'; Codehighlighter1_857_874_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">a[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">NUM)&nbsp;&nbsp;not_finish</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_857_874_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_857_874_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">当第一位的值达到NUM时结束</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_895_910_Open_Image onclick="this.style.display='none'; Codehighlighter1_895_910_Open_Text.style.display='none'; Codehighlighter1_895_910_Closed_Image.style.display='inline'; Codehighlighter1_895_910_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_895_910_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_895_910_Closed_Text.style.display='none'; Codehighlighter1_895_910_Open_Image.style.display='inline'; Codehighlighter1_895_910_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;a[i]</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_895_910_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_895_910_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">将a[i]的值取下一个值</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">NUM)&nbsp;a[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_968_983_Open_Image onclick="this.style.display='none'; Codehighlighter1_968_983_Open_Text.style.display='none'; Codehighlighter1_968_983_Closed_Image.style.display='inline'; Codehighlighter1_968_983_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_968_983_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_968_983_Closed_Text.style.display='none'; Codehighlighter1_968_983_Open_Image.style.display='inline'; Codehighlighter1_968_983_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;a[i]</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_968_983_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_968_983_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">将a[i]的值取下一个值</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">NUM)<br><img id=Codehighlighter1_1040_1062_Open_Image onclick="this.style.display='none'; Codehighlighter1_1040_1062_Open_Text.style.display='none'; Codehighlighter1_1040_1062_Closed_Image.style.display='inline'; Codehighlighter1_1040_1062_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1040_1062_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1040_1062_Closed_Text.style.display='none'; Codehighlighter1_1040_1062_Open_Image.style.display='inline'; Codehighlighter1_1040_1062_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i</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">NUM)&nbsp;a[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_1040_1062_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1040_1062_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">若前一个元素的值为NUM则a[i]=1</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1089_1109_Open_Image onclick="this.style.display='none'; Codehighlighter1_1089_1109_Open_Text.style.display='none'; Codehighlighter1_1089_1109_Closed_Image.style.display='inline'; Codehighlighter1_1089_1109_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1089_1109_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1089_1109_Closed_Text.style.display='none'; Codehighlighter1_1089_1109_Open_Image.style.display='inline'; Codehighlighter1_1089_1109_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;a[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[i</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">;&nbsp;</span><span id=Codehighlighter1_1089_1109_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1089_1109_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">否则元素的值为前一个元素的下一个值</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;while(not_finish&amp;&amp;i&lt;=NUM)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">结果输出部分-----------------------------------------------------------------------</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(not_finish)<br><img id=Codehighlighter1_1246_1482_Open_Image onclick="this.style.display='none'; Codehighlighter1_1246_1482_Open_Text.style.display='none'; Codehighlighter1_1246_1482_Closed_Image.style.display='inline'; Codehighlighter1_1246_1482_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1246_1482_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1246_1482_Closed_Text.style.display='none'; Codehighlighter1_1246_1482_Open_Image.style.display='inline'; Codehighlighter1_1246_1482_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1246_1482_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1246_1482_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">count;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&nbsp;(count</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">3</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;[%2d]:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;:&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;\n[%2d]:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;,&nbsp;count&nbsp;);<br><img id=Codehighlighter1_1367_1374_Open_Image onclick="this.style.display='none'; Codehighlighter1_1367_1374_Open_Text.style.display='none'; Codehighlighter1_1367_1374_Closed_Image.style.display='inline'; Codehighlighter1_1367_1374_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1367_1374_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1367_1374_Closed_Text.style.display='none'; Codehighlighter1_1367_1374_Open_Image.style.display='inline'; Codehighlighter1_1367_1374_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">NUM;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,a[k]);</span><span id=Codehighlighter1_1367_1374_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1367_1374_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">输出结果</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_1416_1428_Open_Image onclick="this.style.display='none'; Codehighlighter1_1416_1428_Open_Text.style.display='none'; Codehighlighter1_1416_1428_Closed_Image.style.display='inline'; Codehighlighter1_1416_1428_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1416_1428_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1416_1428_Closed_Text.style.display='none'; Codehighlighter1_1416_1428_Open_Image.style.display='inline'; Codehighlighter1_1416_1428_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[NUM</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">NUM)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[NUM</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">;&nbsp;</span><span id=Codehighlighter1_1416_1428_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1416_1428_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">修改倒数第二位的值</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;a[NUM</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">;<br><img id=Codehighlighter1_1464_1479_Open_Image onclick="this.style.display='none'; Codehighlighter1_1464_1479_Open_Text.style.display='none'; Codehighlighter1_1464_1479_Closed_Image.style.display='inline'; Codehighlighter1_1464_1479_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1464_1479_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1464_1479_Closed_Text.style.display='none'; Codehighlighter1_1464_1479_Open_Image.style.display='inline'; Codehighlighter1_1464_1479_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">NUM</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;</span><span id=Codehighlighter1_1464_1479_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1464_1479_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">开始寻找下一个足条件的解</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">if(not_finish)</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">while(not_finish)</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br><img height=557 alt="" src="http://www.cppblog.com/images/cppblog_com/changshoumeng/ba.jpg" width=595 border=0>&nbsp; 
<img src ="http://www.cppblog.com/changshoumeng/aggbug/114831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/changshoumeng/" target="_blank">长寿梦</a> 2010-05-08 10:29 <a href="http://www.cppblog.com/changshoumeng/archive/2010/05/08/114831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>进制转换，逆序输出</title><link>http://www.cppblog.com/changshoumeng/archive/2010/05/08/114825.html</link><dc:creator>长寿梦</dc:creator><author>长寿梦</author><pubDate>Sat, 08 May 2010 02:08:00 GMT</pubDate><guid>http://www.cppblog.com/changshoumeng/archive/2010/05/08/114825.html</guid><wfw:comment>http://www.cppblog.com/changshoumeng/comments/114825.html</wfw:comment><comments>http://www.cppblog.com/changshoumeng/archive/2010/05/08/114825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/changshoumeng/comments/commentRss/114825.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/changshoumeng/services/trackbacks/114825.html</trackback:ping><description><![CDATA[<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"><img id=Codehighlighter1_0_60_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_60_Open_Text.style.display='none'; Codehighlighter1_0_60_Closed_Image.style.display='inline'; Codehighlighter1_0_60_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_60_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_60_Closed_Text.style.display='none'; Codehighlighter1_0_60_Open_Image.style.display='inline'; Codehighlighter1_0_60_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_60_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_0_60_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>问题：数制转换，逆序输出<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>思路：求余--轮除--求余，分解后保存在数组中。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数组逆序输出为，所得。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cstring</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_131_472_Open_Image onclick="this.style.display='none'; Codehighlighter1_131_472_Open_Text.style.display='none'; Codehighlighter1_131_472_Closed_Image.style.display='inline'; Codehighlighter1_131_472_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_131_472_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_131_472_Closed_Text.style.display='none'; Codehighlighter1_131_472_Open_Image.style.display='inline'; Codehighlighter1_131_472_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_131_472_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_131_472_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,radix;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;a[</span><span style="COLOR: #000000">32</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;trans(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p,</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;m,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">base</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Input&nbsp;radix(2,8,16):</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">radix;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\nInput&nbsp;a&nbsp;positive&nbsp;number:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;trans(a,n,radix);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">正序输出：比如1245644</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">strlen(a)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">a[i];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">逆序输出：比如4465421</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">strlen(a)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">a[i];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">数制转换函数</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;trans(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p,</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;m,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">base</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_519_662_Open_Image onclick="this.style.display='none'; Codehighlighter1_519_662_Open_Text.style.display='none'; Codehighlighter1_519_662_Closed_Image.style.display='inline'; Codehighlighter1_519_662_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_519_662_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_519_662_Closed_Text.style.display='none'; Codehighlighter1_519_662_Open_Image.style.display='inline'; Codehighlighter1_519_662_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_519_662_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_519_662_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;r;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(m</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_542_653_Open_Image onclick="this.style.display='none'; Codehighlighter1_542_653_Open_Text.style.display='none'; Codehighlighter1_542_653_Closed_Image.style.display='inline'; Codehighlighter1_542_653_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_542_653_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_542_653_Closed_Text.style.display='none'; Codehighlighter1_542_653_Open_Image.style.display='inline'; Codehighlighter1_542_653_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_542_653_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_542_653_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">m</span><span style="COLOR: #000000">%</span><span style="COLOR: #0000ff">base</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">求余</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(r</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">48</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">code转换为char</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">55</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">code转换为char</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m</span><span style="COLOR: #000000">/=</span><span style="COLOR: #0000ff">base</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">轮除</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<img src ="http://www.cppblog.com/changshoumeng/aggbug/114825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/changshoumeng/" target="_blank">长寿梦</a> 2010-05-08 10:08 <a href="http://www.cppblog.com/changshoumeng/archive/2010/05/08/114825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>