如何让下列C代码的结果实现无重复出现?

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:46:34
#include<stdio.h>
#include<time.h>

main()
{
int n=0,i,t;
srand(time(NULL));
for(i=1;i<26;i++)
{
t=rand()%26+1;
if(n%5 == 0)
printf("\n\n\n");
printf("%d\t",t);
n++;
}
getch();
}
显示结果时有重复,如何解决?
回答者不必谈算法,请直接修改程序。
答案越来越离谱啦

#include<stdio.h>
#include<time.h>

main()
{
int n=0,i,t;
bool tag[27];
for(i=1;i<27;i++) tag[i]=false;
srand(time(NULL));
for(i=1;i<26;i++)
{
t=rand()%26+1;
if(tag[t]) continue;
tag[t]=true;
if(n%5 == 0)
printf("\n\n\n");
printf("%d\t",t);
n++;
}
getch();
}

把tanyuguo的改一下,定义一个bool:
#include<stdio.h>
#include<time.h>
typedef enum{false,true} bool;
main()
{
int n=0,i,t;
bool tag[27];
for(i=1;i<27;i++) tag[i]=false;
srand(time(NULL));
for(i=1;i<26;i++)
{
t=rand()%26+1;
if(tag[t]) continue;
tag[t]=true;
if(n%5 == 0)
printf("\n\n\n");
printf("%d\t",t);
n++;
}
getch();
}