#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void suijishu(int *arr,int n)
{
srand(time(NULL));
int count=0;
while(1)
{
arr[count++]=rand()%10;
for(int i=0;i<<count-1;i++)
{
if(arr[count-1]==arr[i])
{
count--;
break;
}
}
if(count==n)
{
break;
}
}
}
int main()
{
int i;
int n;
int r;
int p;
int t;
int x,y;
scanf("%d",n);
int arrx[n],arry[n];
suijishu(arrx,sizeof(arrx)/sizeof(*arrx));
suijishu(arry,sizeof(arry)/sizeof(*arry));
for(i=1;i<=n;i++)
{
x=arrx[i];
y=arry[i];
r=x*x+y*y;
if(r<=1)
{
t=t+1;
}
}
p=4*t/n;
printf("pi is %f\n",p);
return 0;
}
第37行,动态定义数组的大小,有些编译器可以有些不可以
还有你scanf用错,变量需要取地址。