goyard卡包:谁帮帮我:从0-9十个数排成一个六位数有几种排发.能不能帮我编一个简单的程序用C语言。谢谢了!

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 23:37:31

总数是9 * 9 * 8 * 7 * 6 * 5

这是我写的打印数字的C程序

#include<iostream.h>
#define WEI 6//在这里修改要打印的整数的位数
void paixu(int weishu,int number[]);
void main()
{
int weishu=WEI;
int number[WEI-1]={0};//将整数的第二位到第六位都记录在这个数组中
paixu(weishu,number);
}
void paixu(int weishu,int number[])
{
int i=0,j=0;
for(i=0;i<=9;i++)
{
if(weishu==1)
{
for(j=WEI-2;j>=0;j--)//得到了整数的全部位数则一一打印出来
cout<<number[j];
cout<<i<<" ";
}
else
{
if(weishu!=WEI || i!=0)
{
number[weishu-2]=i;
paixu(weishu-1,number);
}
}
}
}

排法总数 = 9 * 9 * 8 * 7 * 6 * 5

楼主是不是高中数学没学好?!^_^