当前位置: 代码迷 >> C语言 >> 随机产生100个1到6的整数,并统计每个数出现的次数……
  详细解决方案

随机产生100个1到6的整数,并统计每个数出现的次数……

热度:134   发布时间:2007-03-07 19:15:50.0
随机产生100个1到6的整数,并统计每个数出现的次数……
要用到什么函数?谢谢求助!
搜索更多相关的解决方案: 整数  随机  统计  函数  

----------------解决方案--------------------------------------------------------


#include<stdio.h>
#include<stdlib.h>
main()
{
int i,k,c,j=0;
int a[6],b[6];
for(i=0;i<6;i++)
b[6]=0 ;
randomize(); /*随即数初始化 */
for(i=0;i<6;i++)
{
b[i]=rand()%100+1;
printf("%d ",b[i]);
}

for(i=0;i<6;i++)
{
c=0;
for(k=i+1;k<6-1;k++)
{
if(a[i]==a[k])
{
b[j]++;
c=1;
}
}
if(c)
j++;

}
for(i=0;i<j;i++)
printf("\n\n%d",b[i]);
getch();

}
没写解释.......大概这样吧;


----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define SizeOfArray 100
#define Size 7

int main()
{
srand(time(NULL));

printf("The Array is :\n");

int i;
int Array[SizeOfArray];
for(i =0 ; i < SizeOfArray ; i++){
Array[i] = rand()%6+1;
printf("%d \t",Array[i]);
}

int z;
int Array1[Size];
for(z = 0; z < Size ; z++){
Array1[z] = 0;
}

int x;
for(x = 0 ;x < SizeOfArray; x++){
++Array1[Array[x]];
}

int y;
for( y = 1 ; y < Size ;y++){
printf("The Num Of %d Is:%d\n",y,Array1[y]);
}

return 0;
}

在.cpp运行通过
.c运行不通过 可能是里面的随机数产生函数和头文件有问题
谢谢谁能点出来

//第二个for可以放在第一个以前的 一三简洁点可以合在一起

[此贴子已经被作者于2007-3-7 21:24:02编辑过]


----------------解决方案--------------------------------------------------------


srand(time(NULL));

printf("The Array is :\n");

int i;
int Array[SizeOfArray];
位置差错,修改如下:
int i;
int Array[SizeOfArray];
srand(time(NULL));

printf("The Array is :\n");



----------------解决方案--------------------------------------------------------
回复:(C语言学习者) srand(time(NULL)); p...
不是这个问题 在VC中编译文件还是错误
不知道在其他的编译器中还是不是?
----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define SizeOfArray 100
#define Size 7

int main()
{
int i;
int Array[SizeOfArray];
int z;
int Array1[Size];
int y;
int x;
srand(time(NULL));

printf("The Array is :\n");


for(i =0 ; i < SizeOfArray ; i++){
Array[i] = rand()%6+1;
printf("%d \t",Array[i]);
}

for(z = 0; z < Size ; z++){
Array1[z] = 0;
}

for(x = 0 ;x < SizeOfArray; x++){
++Array1[Array[x]];
}


for( y = 1 ; y < Size ;y++){
printf("The Num Of %d Is:%d\n",y,Array1[y]);
}
getch();
return 0;
}


----------------解决方案--------------------------------------------------------
回复:(C语言学习者)#include#inclu...

问一句啊 为什么所有的声明必须放在 srand(time(NULL))之前?

[此贴子已经被作者于2007-3-7 21:18:19编辑过]


----------------解决方案--------------------------------------------------------
这是C89规定的
----------------解决方案--------------------------------------------------------
回复:(C语言学习者)#include#inclu...

不错


----------------解决方案--------------------------------------------------------