c语言,求0~7中任意随机取5个不同的数的组合算法

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:38:53
不对
已知:int GetRand(int min,int max) 返回min~max之间的一个随机数,int rand(void)返回一个随机数
函数越短越好,越精炼越好。

renjianke 的组合在vc6.0上会报错
sunshine66 你的程序没错,是我少加了#include"stdafx.h"头文件所以报错的,不过如果你能把所有组合都能算出来那就好了

//敢问,那错了?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int i = 0, j = 0;
int a[5];
srand((unsigned)time(NULL));
for (i = 0; i < 5; ++i)
{
a[i] = rand()%8;
for (j = 0; j < i; ++j)
{
if (a[j] == a[i]) break;
}
if (j < i)
{
i--;
}
}
printf("此次组合为:");
for (i = 0; i < 5; ++i)
{
printf("%d ", a[i]);
}
printf("\n");
}

//打印出所有的组合种类:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int i,j,k,m,n;
int num = 0;
printf("所有组合如下:\n");
for (i = 0; i < 8; ++i)
{
for (j = 0; j < 8; ++j)
{
if (i == j) continue;
for (k = 0; k < 8; ++k)
{
if ((i == k)||(j == k)) continue;