C语言利用rand函数生成10个不同的介于1到10之间的整数放到数组a[10]中,并输出。

如题所述

#include<stdio.h>
#include"stdlib.h"
#include"time.h"
int main()
{
int a[10]={-2,-2,-2,-2,-2,-2,-2,-2,-2,-2};
int temp,i=0,j;
srand(time(NULL));//用于产生随机数。
do
{
int kk=0;
temp=rand()%10+1;
if(i==0)
{
a[i]=temp;
i++;
}
else
{
for(j=0;j<i;j++)
{
if(temp==a[j])
kk=1;
}
if(kk==0)
{
a[i]=temp;
i++;
}
}
}while(a[9]==-2);
for(i=0;i<10;i++)
printf("%3d",a[i]);
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-22
你这是要把1~10这几个数都写到数组里啊
还有,楼上写的忒复杂
别用++ ,用--判断
第2个回答  2014-04-22
include <stdio.h>
include <stdlib.h>

int main()
{
int i,j=0,n,a[10]={0};
for(;;)
{
n=rand()%10+1;
for(i=0;i<10;i++)
{
if(a[i]==n)
break;
else
{
a[j]=n;
j++;
printf("%3d",a[j]);
}
printf("\n");
break;
}
return 0;
}
第3个回答  推荐于2018-03-26
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{ int x[10],i;
srand(time(0));
for ( i=0;i<10;i++ ) x[i]=rand()%10+1;
for ( i=0;i<10;i++ ) printf("%d ",x[i]); printf("\n");
}本回答被网友采纳
相似回答