zoukankan      html  css  js  c++  java
  • 5.17移数字游戏

    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)
    ",j+1);	//输出移动步骤 
    				printf("(%d --> %d)
    ",j+2,j+1);
    				printf("(0 --> %d)
    ",j+2);	
    			}
    			printf("
    ");
    }
    
    print(int m[]) {
    	printf(" [%d]--[%d]--[%d]
    ",m[0],m[1],m[2]);
    	printf("  |  %c |  %c  | 
    ",92,47);
    	printf(" [%d]--[ ]--[%d]
    ",m[7],m[3]);
    	printf("  |  %c |  %c  | 
    ",47,92);
    	printf(" [%d]--[%d]--[%d]
    ",m[6],m[5],m[4]);
    	
    } 
    int main() {
    	int i;
    	printf("input 8 integer to arrange this matrix
    ");
    	for(i=0;i<8;i++)
    	scanf("%d",&m[i]);
    	printf("initial data matrix is like
    ");
    	print(m);
    	printf("
    MOVE STEP:
    ");
    	getstep(m);
    	printf("the result of moving is
    ");
    	print(m);
    	return 0;
    }
    

      

    拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
  • 相关阅读:
    变量按数据类型分类
    构造方法重载 及注意事项
    构造方法-带参
    构造方法-无参
    对对象中的属性赋值(两种方法)
    局部变量的值赋给成员变量 案例(红色字体)
    成员变量与局部变量区别
    创建对象综合案例
    20151015css3 部分css2的内容
    20151012jq4
  • 原文地址:https://www.cnblogs.com/dd2hm/p/6788880.html
Copyright © 2011-2022 走看看