24小时热门版块排行榜    

查看: 1971  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ahuang1985

铁虫 (小有名气)

[求助] 拜托大家帮忙看个简单程序

本意是想从-10—10范围内随机产生10个不同的坐标点,并且满足该坐标到原点的距离小于等于10.  关于控制距离,我这样操作的:            
if(pow((b), 2) + pow((d), 2) + pow((f), 2) > 100.0)
                {
                 i=i-1;
                }

运行的结果是不同的点倒是产生了,但是距离小于10不满足。哪个大侠帮帮忙看看怎么改,多谢了! 程序如下:



#include
#include
#include
#define N 10

int main(void)
{

        int a[20]={0},b[N],x,y,z,i,j,t;
        int c[20]={0},d[N],e[20]={0},f[N];
        srand((unsigned int)time(NULL));
        for (i=0;i         {
                while(a[x=rand()%21-10]);
                {
                        b=x;
                        a[x]=1;

                }
                while(c[y=rand()%21-10]);
                {
                        d=y;
                        c[y]=1;

                }
                while(e[z=rand() %21-10]);
                {
                        f=z;
                        e[z]=1;

                }
              if(pow((b), 2) + pow((d), 2) + pow((f), 2) > 100.0)
                {
                 i=i-1;
                }

        }

        for(i =0 ;i         {
                printf("%4d,%4d,%4d\n ",b,d,f);
        }

}
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ahuang1985

铁虫 (小有名气)

送鲜花一朵
引用回帖:
4楼: Originally posted by 锐利的碎片 at 2012-03-21 12:22:48:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define N 10

int main(int argc, char **argv)
{
    int i, x, y, z, pt;
    double dist;

    srand(time(NUL ...

多谢帮忙,小弟还有一个问题,就是从-9.5—9.5范围内也随机产生10个不同的坐标点,(都是整数带0.5),距离满足小于等于10;
但是怎样使前面产生的10个坐标点和后面这10个坐标点合并成一个数组?不用排序。我弄了半天都运行不成功,帮帮忙哈~ 多谢了!
5楼2012-03-21 13:44:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

ahuang1985

铁虫 (小有名气)

好像字体倾斜了,不太清楚 再传一次

#include
#include
#include
#define N 10

int main(void)
{

        int a[20]={0},b[N],x,y,z,i,j,t;
        int c[20]={0},d[N],e[20]={0},f[N];
        srand((unsigned int)time(NULL));
        for (i=0;i         {
                while(a[x=rand()%21]);
                {
                        b=x-10;
                        a[x]=1;

                }
                while(c[y=rand()%21]);
                {
                        d=y-10;
                        c[y]=1;

                }
                while(e[z=rand() %21]);
                {
                        f=z-10;
                        e[z]=1;

                }
              if(pow((b), 2) + pow((d), 2) + pow((f), 2) > 100.0)
                {
                 i=i-1;
                }

        }

        for(i =0 ;i         {
                printf("%4d,%4d,%4d\n ",b,d,f);
        }

}
2楼2012-03-21 11:11:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ahuang1985

铁虫 (小有名气)

自己顶吧,忘了
#include
3楼2012-03-21 12:21:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ahuang1985: 金币+6, ★★★很有帮助, 多谢! 2012-03-21 12:43:01
xzhdty: 金币+1, 欢迎常来程序语言 2012-03-21 19:02:05
CODE:
#include
#include
#include

#define N 10

int main(int argc, char **argv)
{
    int i, x, y, z, pt[N][3];
    double dist;

    srand(time(NULL));
    for ( i = 0; i < N; i++ ) {
        do {
            x = rand()%21 - 10;
            y = rand()%21 - 10;
            z = rand()%21 - 10;
            dist = sqrt(pow((double) x, 2) +
                        pow((double) y, 2) +
                        pow((double) z, 2));
        } while (dist > 10.0);
        pt[i][0] = x;
        pt[i][1] = y;
        pt[i][2] = z;
        printf("%4d %4d %4d %f\n", pt[i][0], pt[i][1], pt[i][2], dist);
    }

    return 0;
}

» 本帖已获得的红花(最新10朵)

4楼2012-03-21 12:22:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 19:22 by lXgU0RvNTDC9
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 19:22 by lXgU0RvNTDC9
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 8/400 2026-08-23 18:58 by lXgU0RvNTDC9
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 h4CP7TrQR8Lg 2026-08-22 3/150 2026-08-23 16:30 by lXgU0RvNTDC9
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 DpSrDtM079iu 2026-08-22 3/150 2026-08-23 15:33 by KM5EcsNQRBPn
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 2JOx3r2CYEgw 2026-08-21 5/250 2026-08-23 14:33 by KM5EcsNQRBPn
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 h4CP7TrQR8Lg 2026-08-22 5/250 2026-08-23 12:09 by LR9qGULyN2ew
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 10/500 2026-08-23 07:17 by OEbVnUOu01ol
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 04:04 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
信息提示
请填处理意见