怎样用C语言生成10个1到100的不重复的随机数?
展开全部
展开全部
/*
7 29 89 2 63 35 34 82 96 87 69 6 44 12 5 93 4 67 46 83
Press any key to continue
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 20
int main() {
int i,j,flag,num,a[N];
srand((unsigned)time(NULL));
for(i = 0; i < N; ++i) {
num = rand()%98 + 1;
flag = 1;
for(j = 0; j < i; ++j) {
if(num == a[j]) {
flag = 0;;
break;
}
}
if(flag) a[i] = num;
else --i;
}
for(i = 0; i < N; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
7 29 89 2 63 35 34 82 96 87 69 6 44 12 5 93 4 67 46 83
Press any key to continue
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 20
int main() {
int i,j,flag,num,a[N];
srand((unsigned)time(NULL));
for(i = 0; i < N; ++i) {
num = rand()%98 + 1;
flag = 1;
for(j = 0; j < i; ++j) {
if(num == a[j]) {
flag = 0;;
break;
}
}
if(flag) a[i] = num;
else --i;
}
for(i = 0; i < N; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用随机函数就好了
抄楼下的,但算法结构比楼上 好
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int srand_num[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++)
{
a[i]=rand()%99+1;
if(i>0&&srand_num[i]==srand[i-1]) i--;
}
for(int i=0;i<10;i++)
printf("%6d",srand_num[i]);
}
抄楼下的,但算法结构比楼上 好
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int srand_num[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++)
{
a[i]=rand()%99+1;
if(i>0&&srand_num[i]==srand[i-1]) i--;
}
for(int i=0;i<10;i++)
printf("%6d",srand_num[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rand()函数,遇到重复的不输出就ok了嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询