荷兰国旗问题的模拟解答_第1页
荷兰国旗问题的模拟解答_第2页
荷兰国旗问题的模拟解答_第3页
荷兰国旗问题的模拟解答_第4页
荷兰国旗问题的模拟解答_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

荷兰国旗问题的模拟解答 3种颜色(0,1,2)在一个数组里,每次只可交换一次,扫描一边后,三种颜色自然分开,应为颜色为:红,白,蓝,(荷兰国旗的颜色)所也叫荷兰国旗问题!图例1,为方便起见输入2使用系统默认数组设置进行解答(也可以输入1,进行自定义荷兰国旗数组)图例2,上方为初始化的荷兰国旗数组,下方显示的是排列好的荷兰国旗数组图例3,极端情况,要做n次交换。代码如下:/* DNF.c Copyright (c) 2002, 2006 by ctu_85 All Rights Reserved.*/#include stdio.h#include conio.h#include string.h#define maxnum 12int a=0,1,1,2,0,2,1,1,2,0,1,1;enum red,white,blue;void Create(int);void Display(int,int);void DNF(int);int main()char *in;int length=0;textbackground(0);clrscr();re:printf(Please enter the array:n);printf(press 1 to create a new array,2 to use the system example:);scanf(%s,in);length=strlen(in);if(length1|length=0|(*in!=1&*in!=2)printf(Error!n);goto re;if(*in=1)scan:printf(Please set the num of the array:);scanf(%s,in);if(strlen(in)=1)length=*in-0;if(strlen(in)=2)length=10*(*in-0)+(*(in+1)-0);if(strlen(in)2|lengthmaxnum)printf(Error!n);goto scan;Create(length);elselength=maxnum;Display(length,0);DNF(length);Display(length,1);return 1;void Create(int len)int i=0;char *in;for(;i1|(*in!=0&*in!=1&*in!=2)printf(Error!n);goto input;elseai=*in-0;void Display(int len,int start)int color=0,i=0;if(start=0)window(1,1,25,40);textbackground(0);clrscr();printf(nThe flag array you input is:n);elseif(start=1)printf(nnn);printf(nThe flag array calculated is:n);for(i=0; ilen; i+)if(ai=red)color=4;elseif(ai=white)color=7;elseif(ai=blue)color=1;window(i*2+1,5+start*10,i*2+3,7+start*10);textbackground(color);clrscr();void DNF(int len)int r=0,w=0,b=len-1,temp;while(w=b)if(aw=red)temp=aw;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论