码迷,mamicode.com
首页 > 其他好文 > 详细

5.17移数字游戏

时间:2017-04-30 12:39:54      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:this   like   matrix   space   编写程序   ini   冒泡   []   数字游戏   

Q:有一个包含9个圆圈的数阵,将1~8这8个数随机写到数阵外围,只剩下中间一个空圆圈。规定每个数字只能按照数阵中的直线从一个圆圈移动到另一个空的圆圈中。通过若干步的移动,将数阵移动成

1--2--3

8--  --4//中间数字是空格

7--6--5 

编写程序,输出数字每一步的移动过程。

 

#include <iostream>
#include<cstdio>
using namespace std;
int m[8];
getstep(int m[]) {
	int i,j,tmp;
	for(i=0;i<7;i++)	//冒泡排序 
		for(j=0;j<7-i;j++) 
			if(m[j]>m[j+1]) {
				tmp=m[j];
				m[j]=m[j+1];
				m[j+1]=tmp;
				printf("(%d --> 0)\n",j+1);	//输出移动步骤 
				printf("(%d --> %d)\n",j+2,j+1);
				printf("(0 --> %d)\n",j+2);	
			}
			printf("\n");
}

print(int m[]) {
	printf(" [%d]--[%d]--[%d]\n",m[0],m[1],m[2]);
	printf("  |  %c |  %c  | \n",92,47);
	printf(" [%d]--[ ]--[%d]\n",m[7],m[3]);
	printf("  |  %c |  %c  | \n",47,92);
	printf(" [%d]--[%d]--[%d]\n",m[6],m[5],m[4]);
	
} 
int main() {
	int i;
	printf("input 8 integer to arrange this matrix\n");
	for(i=0;i<8;i++)
	scanf("%d",&m[i]);
	printf("initial data matrix is like\n");
	print(m);
	printf("\nMOVE STEP:\n");
	getstep(m);
	printf("the result of moving is\n");
	print(m);
	return 0;
}

  

5.17移数字游戏

标签:this   like   matrix   space   编写程序   ini   冒泡   []   数字游戏   

原文地址:http://www.cnblogs.com/dd2hm/p/6788880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!