| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:哪位大婶能告诉我为什么这个程序最后不能printf出结果
只看楼主 加入收藏
牛的惊动党
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
哪位大婶能告诉我为什么这个程序最后不能printf出结果
#include<stdio.h>
#include <math.h>
void main()
{
    double p[4][10]={{231,372,25,1247,31},{273,892,25,1837,30},{621,412,25,967},{871,691,25,1174,32}};//X Y坐标,成本,产能,定价,剩余库存,售空次数
    double m[10][10]={{123,171,357,41,0,14637},{37,782,431,40,0,17240},{242,551,489,45,0,22005},{421,789,489,41,0,20049},{671,982,374,40,0,14960},{723,645,341,39,0,13299},{691,572,402,39,0,15878},{871,341,442,42,0,0},{792,84,482,43,0,18564},{436,278,365,44,0,16060}};    //X ,Y坐标,市场需求,定价,剩余需求,初始生物水平,总利润
    double t=0.007;//单位产品的储运成本   
        int i,j=0;

    for(i=0;i<20;i++)
    {  

        for(j=0;j<4;j++)//给剩余库存赋初值
          { p[j][5]=p[j][3];}

          for(j=0;j<10;i++)//给销售商剩余需求赋初值
          {m[j][4]=m[j][2];}
         

          for(j=0;j<10;i++)//第J个销售商依次开始采购
            { double line[4][2];//第一个存储单位成本,第二个是供应商的编号
               int a,b=0;
               double min=0;

               for(a=0;a<4;a++)//计算每个供应商的单件商品的成本
               {
                double k=sqrt((p[a][1]-m[j][1])*(p[a][1]-m[j][1])+(p[a][0]-m[j][0])*(p[a][0]-m[j][0]));//距离计算
                line[a][0]=p[a][4]+k*t;   
                line[a][1]=a;
               }


                for(a=0;a<4;a++)//对单件成本进行排序
                 {
                    for(b=a+1;b<4;b++)
                    {
                     if(line[a][0]>line[b][0])
                     {
                      min=line[b][0];
                      line[b][0]=line[a][0];
                      line[a][0]=min;
                     }
                    }
                 }


              
                  for(a=0;a<4;a++)//销售商J从四家供货商择优选择采购
                 {
                   if(m[j][4]>0)
                   {
                    int num=(int)line[a][1];

                    if(p[num][5]<=0)
                        continue;

                    else if(p[num][5]>=m[j][4])
                    {
                    p[num][5]-=m[j][4];
                    m[j][4]=0;
                    m[j][6]=m[j][3]*m[j][4]-line[a][0]*m[j][4];
                    }

                    else if(p[num][5]<m[j][4]&&p[num][5]>0)
                    {
                    m[j][4]-=p[num][5];
                    p[num][5]=0;
                    m[j][6]=m[j][3]*p[num][5]-line[a][0]*p[num][5];
                    }
                   }
                   else
                       break;
                 }         
          }      
         



              for(int a=0;a<4;a++)//判断供应商是否进化
          {  
              if(p[a][6]=3)
              {
               p[a][3]*=1.05;
               p[a][6]=0;
              }
            else if(p[a][5]<=0)
            {
             p[a][6]++;
            }
          }
           
         
         for(int b=0;b<10;b++)//判断销售商是否进化
         {
         if(m[b][6]>=m[b][5])
         {
          m[b][2]*=1.1;
          m[b][5]*=1.1;
         }
         }

    }
    printf("%lf\n",p[0][3]);//第一个生产商的产值
}
搜索更多相关主题的帖子: double 市场需求 include 
2013-01-12 21:48
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:10 
    printf("%lf\n",p[0][3]);//第一个生产商的产值
这个吗?输出的表达式肯定是没问题的,
for(j=0;j<10;i++)//第J个销售商依次开始采购
这里好像有点错误,而且大括号对不上:
程序代码:
for(j=0;j<10;i++)//第J个销售商依次开始采购
   //没有对应的括号 { double line[4][2];//第一个存储单位成本,第二个是供应商的编号
               int a,b=0;
               double min=0;

               for(a=0;a<4;a++)//计算每个供应商的单件商品的成本
               {
                double k=sqrt((p[a][1]-m[j][1])*(p[a][1]-m[j][1])+(p[a][0]-m[j][0])*(p[a][0]-m[j][0]));//距离计算
                line[a][0]=p[a][4]+k*t;   
                line[a][1]=a;
               }


                for(a=0;a<4;a++)//对单件成本进行排序
                 {
                    for(b=a+1;b<4;b++)
                    {
                     if(line[a][0]>line[b][0])
                     {
                      min=line[b][0];
                      line[b][0]=line[a][0];
                      line[a][0]=min;
                     }
                    }
                 }




I have not failed completely
2013-01-13 19:03
a4811
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:107
注 册:2012-12-20
收藏
得分:10 
楼上正解。。。
2013-01-14 08:09
快速回复:哪位大婶能告诉我为什么这个程序最后不能printf出结果
数据加载中...
 
   



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

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