| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:请教高手看看哪里出错了
只看楼主 加入收藏
axaxzzzzzz
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2013-5-8
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:13 
请教高手看看哪里出错了
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

typedef struct
{
    int a , b , c ,d ,e;
}num;

num p[5] = {  {2 , 3 , 5 ,7 ,11}, {1 , 2 , 3 ,8 ,9},{3 , 5 , 6 ,7 ,8}, {1 , 7 , 8 ,10 ,11},{3 , 4 , 6 ,8 ,11}};

num fun()
{
    num k;
    k.a = rand()%11 + 1;
    k.b = rand()%11 + 1;
    k.c = rand()%11 + 1;
    k.d = rand()%11 + 1;
    k.e = rand()%11 + 1;
    if (k.a!=k.b!=k.c!=k.d!=k.e)
    return k;
}


int main()
{
    int n = 0;
    srand((unsigned)time(NULL));
    while(1)
    {
        num temp;
        temp = fun();
        if(temp.a == p[0].a && temp.b == p[0].b && temp.c == p[0].c && temp.d == p[0].d && temp.e == p[0].e)
        {
            temp = fun();
            if(temp.a == p[1].a && temp.b == p[1].b && temp.c == p[1].c && temp.d == p[1].d && temp.e == p[1].e)
            {
                temp = fun();
                if(temp.a == p[2].a && temp.b == p[2].b && temp.c == p[2].c && temp.d == p[2].d && temp.e == p[2].e)
                { temp = fun();
            if(temp.a == p[3].a && temp.b == p[3].b && temp.c == p[3].c && temp.d == p[3].d && temp.e == p[3].e)
            {temp = fun();
            if(temp.a == p[4].a && temp.b == p[4].b && temp.c == p[4].c && temp.d == p[4].d && temp.e == p[4].e)
            {
               
                    while(n <20)
                    {
                        temp = fun();
                        printf("%d %d %d %d %d\n" , temp.a , temp.b , temp.c, temp.d, temp.e);
                        n++;
                    }
                }
                }
            }
        }
    }
}
      

    return 0;
}


这是我编的一个程序,大致意思是丛1-11取5个不同的数,如果随机的前5组满足上面给定的值,那么接着输出随机的下20组
代码编译正确,就是运行不起来
搜索更多相关主题的帖子: include return 
2013-10-10 18:39
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:0 
要跑对一组数据时间太长了

好好学习,天天想上
2013-10-10 22:44
lesely
Rank: 2
等 级:论坛游民
帖 子:6
专家分:12
注 册:2013-10-8
收藏
得分:0 
编译一下不就更清楚了,这么长咋看呢?
2013-10-10 22:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:1 
if (k.a!=k.b!=k.c!=k.d!=k.e)
这是什么呀
2013-10-11 08:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:1 
要想 rand()%11 + 1 连续25次出现的序列为 2 , 3 , 5 ,7 ,11, 1 , 2 , 3 ,8 ,9, 3 , 5 , 6 ,7 ,8, 1 , 7 , 8 ,10 ,11, 3 , 4 , 6 ,8 ,11 ?
嘿嘿,除非你做过一遍确定有,否则
2013-10-11 08:30
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:1 
if (k.a!=k.b!=k.c!=k.d!=k.e)
这有问题吧

C语言中不允许有连续的运算,因为会出现其他值和0或者1比较,一般都会出错

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-10-11 09:01
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:1 
楼上说的对

不过你的代码很乱你发现没有??????

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-10-11 10:17
在这里爬起
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:43
专家分:113
注 册:2013-8-9
收藏
得分:0 
刚才发的有错误。我再想想。抱歉啊

[ 本帖最后由 在这里爬起 于 2013-10-11 11:07 编辑 ]
2013-10-11 10:24
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:1 
回复 8楼 在这里爬起
这和LZ的想法有点差异啊,Lz只要其中一批不符合条件就重头开始循环,你这是分五批一批一批的跑出来的。

好好学习,天天想上
2013-10-11 10:42
刘浩940109
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2013-10-10
收藏
得分:0 
初学者  看不太懂、、

   我是小白····· 我相信努力就会有收获!  加油  骚年
2013-10-11 10:45
快速回复:请教高手看看哪里出错了
数据加载中...
 
   



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

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