c语言如何将数字从小到大排列(c语言计算数字的排列)
题目要求:
输入一个数字序列{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();
}
运行结果:
运行结果
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com