标题:求教,这个利用随机数法求圆周率的程序有什么问题?
只看楼主
喔喔我
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2018-12-8
结帖率:66.67%
 问题点数:0 回复次数:2 
求教,这个利用随机数法求圆周率的程序有什么问题?
#include <time.h>
#include <stdlib.h>
#define n 30000  //宏定义n为常量30000
main()
{
    float x,y;
    int c=0,d=0;
    randomize();
    while(c++<=n)
    {
    x=random(1001);   /* x,y为坐标。产生0-1000之间的随机数 */
    y=random(1001);
    if(x*x+y*y<=1000000) //判断点(x,y)是否在圆内
        d++;      //计数
    }
    printf("π=%f\n",4.*d/n);
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: 用法 随机数 圆周率 include random 
2019-08-11 09:57
TysonKoothra
Rank: 5Rank: 5
等 级:职业侠客
威 望:7
帖 子:71
专家分:374
注 册:2018-10-21
得分:0 
思路是对的,有一些函数用错了。如果有 IDE的话,这些问题在写代码的时候,很快就能发现。如果没有IDE的话,找一个 IDE用用吧。
程序代码:
#include <time.h> // 没有用到这个头文件里面的函数
#include <stdlib.h>
#define n 30000
main()
{
    float x,y;
    int c=0,d=0;
    randomize(); // 这里的函数是不存在的,可以不要这条语句
    while(c++<=n)
    {
        x=random(1001);   // 这里random函数不需要参数,应该写成 x = random() % 1000;
        y=random(1001);   // 这里random函数不需要参数,应该写成 y = random() % 1000;
        if(x*x+y*y<=1000000)
            d++;      
    }
    printf("π=%f\n",4.*d/n);    // 没有include 头文件stdio.h, printf 函数是不可用的。
    system("pause");
    return 0;
}

2019-08-11 11:08
暴君Dentiny
Rank: 2
等 级:论坛游民
帖 子:132
专家分:43
注 册:2019-5-6
得分:0 
回复 2楼 TysonKoothra
我一直在看谭浩强的c语言,没听说可以这样定义,原来还可以定义坐标

技术至上,学无止境
2019-08-14 00:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496324-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112299 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved