帮我做个C的,生成十个随机数的程序(不重复的)

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:44:49
用C做的,生成10个随机数,不要重复。
记得加上些注释,我有其他用途,谢谢

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int ch(int *a,int co,int hc)/*检查整数hc在数组a中的前co+1个元素中是否有重复,如果出现重复,则返回1,否则返回0*/
{
while (co>=0)
if (a[co]==hc)
return 1;
else co--;
return 0;
}
int main(void)
{
int r[10],i,tmp;
srand(time(0));/*设置随机数种子*/
for (i = 0; i < 10; i++) {
tmp=rand();/*生成一个随机数*/
if (!ch(r,i,tmp))/*调用ch()函数判断tmp是否重复*/
r[i]=tmp;/*如果不重复,则保存到数组r中*/
else
i--;/*如果重复,则重新为r[i]生成一个随机数*/
}
for (i = 0; i < 10; i++) { /*输出数组r*/
printf("%d\t",r[i]);
}
putchar('\n');
system("pause");
return 0;
}
//---------------------------------------------------------------------------