编写函数调用随机函数产生0到19之间的随机数,在数组中存入15个互不重复的整数。要求在主函数中输出结果。

来源:百度知道 编辑:UC知道 时间:2024/06/18 23:50:21
#include <stdio.h>
#include <stdlib.h>
void main()
{int x,i,n,s[15]={0};
n=0;
x=rand()%20;
for(i=0;n<15,i=0;n++)
{while(i<n&&x!=s[i])i++;
if(i=n-1)s[n]=x;
x=rand()%20;
}
for(i=0;i<n;i++)printf("%4d",s[i]);
printf("\n");
}

怎么什么都不显示??
还是不行啊……

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{int x,i,n,s[15]={0};
n=0;
srand((unsigned)time(NULL));
x=rand()%20;
for(i=0;n<15;i=0)
{while(i<n&&x!=s[i])i++;
if(i==n)s[n++]=x;
x=rand()%20;
}
for(i=0;i<n;i++)printf("%4d",s[i]);
printf("\n");
}

#include <stdio.h>
#include <stdlib.h>
void main()
{
int x,i,n,s[15]={0};

n=0;

x=rand()%20;

for(i=0;n<15;i=0)
{
while(i<n&&x!=s[i])
i++;

if(i==n)
s[n++]=x;

x=rand()%20;

}

for(i=0;i<n;i++)
printf("%4d",s[i]);

printf("\n");
}

//经过验证

调用rand()之前要调用一次srand,一般用srand((unsigned)time(NULL));
需要#include"time.h"