#include<sydio.h>
#include<time.h>
int main()
{
int a[6]={0},i,n=0;
srand(time(0));
for(i=1;i<=100;i++)
{
n=rand()%6+1;
a[n]++;
printf("%3d",n);
if(i%10==0)printf("\n");
}
printf("\n");
for (i=1;i<=6;i++)printf("%d%d\n",i,a[i]);
return 0;
}
在第二行后面第三行前面加上
using namespace std;
1、#include<sydio.h>写错了,应该是#include<stdio.h>
2、你定义的数组长度为6,那么可引用的数组下标为0~5,即a[0]、a[1]、a[2]、a[3]、a[4]、a[5]。而你的代码中会出现使用a[6]的情况,这造成数组越界了。可以改正如下:
#include<stdio.h>
#include<time.h>
int main()
{
int a[6] = { 0 }, i, n = 0;
srand(time(0));
for (i = 1; i <= 100; i++)
{
n = rand() % 6;
a[n]++;
printf("%3d", n);
if (i % 10 == 0)
printf("\n");
}
printf("\n");
for (i = 0; i <6; i++)
printf("%d%d\n", i, a[i]);
return 0;
}