永发信息网

c语言生成0到9不重复的随机数存到二维数组中

答案:3  悬赏:30  手机版
解决时间 2021-02-15 17:12
  • 提问者网友:聂風
  • 2021-02-15 05:35
c语言生成0到9不重复的随机数存到二维数组中
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-02-15 06:48
#include<stdio.h>       //提供printf函数声明定义
#include<stdlib.h>      //提供srand函数声明定义,rand
#include<time.h>        //提供time函数
int is_same(int *t,int lo,int x);
int main()
{
int a[10];
int num=20;
int t,i;
srand(time(0)); 
 //此函数提供种子,即time(0)系统时间秒数。这让rand()函数提供的数字每秒都不一样

while(num>0)   //循环次数
{
for(i=0;i<10;i++)        //获取一行10个数
{
while(1)             //每次随机获取一个数
{
t=rand()%10;
if(i==0)
{
a[i]=t;
break;
}
if(is_same(a,i,t)==0) //必须不相同才能获取一行的下一个数
{
a[i]=t;
break;
}
}
printf("%d ",t);
}
printf("\n");
num--;

}
return 0;
}
int is_same(int *t,int lo,int x) //是否有相同
{
int i;
for(i=0;i<lo;i++)
{
if(*(t+i)==x)    //如果有相同的返回真
return 1;
}
return 0;          //否则返回假
}
全部回答
  • 1楼网友:深街酒徒
  • 2021-02-15 08:30
生成一个随机数,判断数组中是否存在,如果存在再生成另一个、不存在存放数组中 ~ ~ ~ ~
  • 2楼网友:痴妹与他
  • 2021-02-15 07:27
#include #include #include int main() { srand(time(0)); int a[2][3];//此处只声明即可,如要初始化,可这样写 int a[2][3]={{0,0,0},{0,0,0}}; int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { a[i][j]) = rand()%10; //在此处赋值 printf("%5d\t",a[i][j]); } printf("\n"); } return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯