C语言问题请教各位高手(特别邀请jzh2004进来看看)
题目:0.1.2.3.4.5.6.7中可以组成多少个各个位都不重复的八位的奇数,(例如10234567就是其中一个)第一位不能为0,用C语言编写程序.
小女子请各位高手赐教,感激不尽!!!!!!
题目:0.1.2.3.4.5.6.7中可以组成多少个各个位都不重复的八位的奇数,(例如10234567就是其中一个)第一位不能为0,用C语言编写程序.
小女子请各位高手赐教,感激不尽!!!!!!
我就是这样认为的,要排出的数是奇数,那么最后一位一定是1.3.5.7,假设最后一位是1,那么第一位有六种可能(0不能排在第一位),第二位0就可以参与排列,所以也有六种可能,第三位有五种可能,第四位有四种可能,照此类推,排到第七位只有一种可能,那么尾数是一的组合有6*6*5*4*3*2*1=4320,那么最后一位有1.3.5.7四种可能,所以总的组合数要4320*4=17280种.
我自己编写的程序是
main ( )
{int sum;
sum=6*6*5*4*3*2*1*4;
printf:("the number is %d\n",sum);
}
但老师说这样做不行,因为这是我计算好了让电脑输出,请各位高手再帮一下忙啦!谢谢!
二楼说的全排列还没有学过,呵呵,所以不会; 我是这样想的,先用循环将数全部求出来,然后分别将这些数赋给一个数组,然后再通过数组来求,但是自己又有些想不通,一,怎么将这些数赋给数组;二,比如说,我将0123这个数赋给数组ary[0],那我又怎么能够像判断字符串数组那样来判断第一位元素的值呢,不知道这样想行不行啊.请大虾指点!
我想请教jzh2004,那么程序应该怎样写出来啊?请你帮帮我啦!谢谢!