C语言五位排序!!

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:08:26
比如有五个空格*****,这五个空格的每个空格都可以是数字也可以是字母,问总共有几组??
这五个空格可以是一样的,如11111,1111A,1111B,AAAA1,AAAA2; 还有你们得给我程序啊!!!

#include <stdio.h>
#include <stdlib.h>

int main()
{
char a[36] = "abcdefghijklmnopqrstuvwxyz0123456789";
char b[5];
int i, j, k, l, m;
int count = 0;

for(i = 0; i < 35; i++)
for(j = 0; j < 35; j++)
for(k = 0; k < 35; k++)
for(l = 0; l < 35; l++)
for(m = 0; m < 35; m++)
{
b[0] = a[i];
b[1] = a[j];
b[2] = a[k];
b[3] = a[l];
b[4] = a[m];
// 这句printf是显示所有的生成的5位数的,真正计数的是count,真正需要得出计算结果的话把printf注释掉就好了
printf("%s\n", b);
count++;
}
printf("%d\n", count);

getch();
return 0;
}

你这个 如果 不考虑顺序(即每个空格都是独立的和其他不同)应该就是 120种吧
这是 排列组合 问题 该是高中时 学的吧
不知 我说的 对么

分步计数原理:36^5