題目要求:
輸入一個數字序列{a1,a2,…,an},将該序列進行排列,并輸出每一種排列方式。
#include "stdio.h"
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]);
}
main()
{
int i , m[8];
printf("Please input 8 integer (1~8) to arrange this matrix\n");
for(i=0;i<8;i )
scanf("%d",&m[i]);
printf("The initial data matrix is like\n");
Print(m);
printf("\nMove Step:\n");
getStep(m);
printf("The result of moving is\n");
Print(m);
getche();
}
運行結果:
運行結果
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!