当前位置: 代码迷 >> C语言 >> 菜虫有问题~~请高手帮忙
  详细解决方案

菜虫有问题~~请高手帮忙

热度:172   发布时间:2007-12-12 08:33:13.0
菜虫有问题~~请高手帮忙
某公司使用某种原材料加工两种规格的产品,其中生产每件A产品消耗原材料56kg,生产每件B产品消耗原材料64kg。假设该公司现有800kg的原材料,编写程序计算A、B各生存多少件,剩余的原材料最少?

#include "stdio.h"
#include "conio.h"

void main()
{
    int x,y,s;
    for(x=1;x<14;x++)
    for(y=1;y<12;y++)
    {
        s=800-56*x-64*y;
        if(s>=0)
        printf("A=%d B=%d yuliang=%d \n",x,y,s);
     }
    getch();
}

如果用以上代码输出能把所有的解都输出,可是如何输出s的最小值呢?不能把if(s>=0)改为if(s=0)
搜索更多相关的解决方案: 原材料  quot  include  

----------------解决方案--------------------------------------------------------
加几个中间变量就可以哦...
#include "stdio.h"
#include "conio.h"
void main()
{
    int x,y,s,a,b;
    int min=800;
    for(x=1;x<14;x++)
    for(y=1;y<12;y++)
    {
        s=800-56*x-64*y;
        if(s>=0)
            if(s<min)
            {min=s;
            a=x;b=y;}           
     }
    printf("A=%d B=%d yuliang=%d \n",a,b,min);
    getch();
}
----------------解决方案--------------------------------------------------------
程序如下,
#include "stdio.h"
#include "conio.h"

int  main(void)
{
    int x,y,s,t;
     t=800;
    for(x=1;x<14;x++)
    for(y=1;y<12;y++)
    {
        s=800-56*x-64*y;
        if(s>=0)
       { printf("A=%d B=%d yuliang=%d \n",x,y,s);
            if(s<t)
                t=s;
           }
      
     }
   
     printf("the least materials is %d\n",t);
    getch();

return 0;
}
----------------解决方案--------------------------------------------------------
原来有人已经提前了哈
呵呵
----------------解决方案--------------------------------------------------------
想了一下,似乎这样更好些,
#include "stdio.h"
#include "conio.h"

int  main(void)
{
    int x,y,s,t;
    t=800;
    for(x=1;x<14;x++)
    for(y=1;y<12;y++)
    {
        s=800-56*x-64*y;
        if(s>=0)
            if(s<t)
                t=s;
     }
    for(x=1;x<14;x++)
    for(y=1;y<12;y++)
    {
        s=800-56*x-64*y;
        if(s==t)
        printf("A=%d B=%d yuliang=%d \n",x,y,s);   
      
      
     }
    getch();

return 0;
}
----------------解决方案--------------------------------------------------------
这是个典型的运筹优化问题。。最好用Lingo 或 matlab 编程来做,一般C 能做的大多是用穷举搜索的办法。。。。
----------------解决方案--------------------------------------------------------
哪怕是lindo
----------------解决方案--------------------------------------------------------
3个程序的结果都不同啊,怎么会产生不同啊??
请高手明示啊
----------------解决方案--------------------------------------------------------
完了~~~晕啊~~上边三个程序的结果不太一样啊~~谢谢大家帮助~~不过看来还得改下程序~~呵呵
----------------解决方案--------------------------------------------------------
这个可不是菜鸟级别的问题了
程序
要靠自己去研究
----------------解决方案--------------------------------------------------------
  相关解决方案