| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 577 人关注过本帖
标题:请问我的程序错在哪里呢?在编译时提示有一个错误
只看楼主 加入收藏
lsh3001
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
请问我的程序错在哪里呢?在编译时提示有一个错误
#include <stdio.h>
#include <math.h>
void main()
{ int Redball[74613][6],int A[22],int Sum[74613],int B[74613][3],int C[74613][2],int D[74613]=0;
  int i,j,k,l,m,n,t;

for (i=0;i<74613;i++)
   for (j=0;j<3;j++)
       B[i][j]=0;

for (i=0;i<74613;i++)
   for (j=0;j<2;j++)
       C[i][j]=0;

printf("请输入22个红球:\n");
for (i=0;i<22;i++)
scanf ("%d",&A[i]);
printf("\n");
t=0;
for (i=0;i<18;i++)
   for (j=i+1;j<19;j++)
       for (k=j+1;k<20;k++)
           for (l=k+1;l<21;l++)
               for (m=l+1;m<22;m++)
                   for (n=m+1;n<23;n++)
                   {t=t+1;
                   Redball[t-1][0]=A[i];Redball[t-1][1]=A[j];Redball[t-1][2]=A[k];Redball[t-1][3]=A[l];Redball[t-1][4]=A[m];Redball[t-1][5]=A[n];
                   }

for (i=0;i<74613;i++)
{Sum[i]=Redball[i][0]+Redball[i][1]+Redball[i][2]+Redball[i][3]+Redball[i][4]+Redball[i][5];
}

for (i=0;i<74613;i++)
   for (j=0;j<6;j++)
      if (0<Redball[i][j]<12 )
      {B[i][0]=B[i][0]+1;}
      if (11<Redball[i][j]<23)
      {B[i][1]=B[i][1]+1;}
      if (22<Redball[i][j]<34)
      {B[i][2]=B[i][2]+1;}

for (i=0;i<74613;i++)
   for (j=0;j<6;j++)
       if(Redball[i][j]%2==0)  C[i][0]=C[i][0]+1
         else C[i][1]=C[i][1]+1

         for (i=0;i<74613;i++)
             for (j=0;j<6;j++)
                 if (A[i][j+1]-A[i][j]=1) D[i]=D[i]+1

    for (i=0;i<74613;i++)
        if (84<Sum[i]<91 && C[i][0]=3 && D[i]=0 && B[i][0]=2 && B[i][1]=2)
            printf("%d  %d  %d  %d  %d  %d\n",Redball[i][0],Redball[i][1],Redball[i][2],Redball[i][3],Redball[i][4],Redball[i][5])
}
我设计的是一个关于双色球选号的程序,目的是在选定的22个红球中进行组合,并设置了和值,奇偶比等参数进行筛选,将筛选后的号码输出,但不知什么地方出错,麻烦大家指点指点。

           
           
           
   
搜索更多相关主题的帖子: 提示 编译 
2009-11-18 15:00
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
错误也太多了吧。
int Redball[74613][6],int A[22],int Sum[74613],int B[74613][3],int C[74613][2],int D[74613]=0;
这一句,一是语法错误,你定义int型就把所有的数写出来就是了,怎么出来这么多int,要知道一个int就对应一个分号。
还有,数据范围,你的数组的长度已经超出了int型数据的范围。后面还有好几个地方是出界了,你再改改。
2009-11-18 15:39
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:5 
int Redball[74613][6],int A[22],楼主真逗
2009-11-22 21:48
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:5 
我想帮你改··可是没能力···汗···
主要错误有··
    LS说的int定义变量里的问题,应改为用分号隔开。
    0<Redball[i][j]<12 ,如此类的逻辑判断,请分开,改为 0<Redball[i][j] && Redball[i][j]<12;C语言还没那么高级··
    注意等号和赋值号的区别  如‘C[i][0]=3 && D[i]=0 && B[i][0]=2 && B[i][1]=2’这样的赋值运算放在逻辑判断里,返回值肯定是1的,可改为C[i][0]==3 && D[i]==0 && B[i][0]==2 && B[i][1]==2;
    请在可执行语句后加上个分号,如几个if(Redball[i][j]%2==0)  C[i][0]=C[i][0]+1这样的,后面都没分号,···不会报错》??
    你定义的A只是22个int容量的数组,下面的那个循环也太夸张了··我不知道怎么改了··
         for (i=0;i<74613;i++)
             for (j=0;j<6;j++)
                 if (A[i][j+1]-A[i][j]=1) D[i]=D[i]+1;



回复m456m654,现在的机子基本上都32位或以上了,绝大部分的编译器的int已经是4个字节了。。。。。
2009-11-22 22:06
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:5 
楼上的说的好···顶
2009-11-22 22:28
快速回复:请问我的程序错在哪里呢?在编译时提示有一个错误
数据加载中...
 
   



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

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