qq_36519547
qq_36519547
采纳率47.1%
2016-11-06 07:14

C语言程序问题 求解答 有个地方不明白

已采纳

#include
int main()
{
int a,b,c,d,num=0,min=9999,s=0;
double n,x;
scanf("%lf",&n);
n=n*1000;
x=((n*55)/500.0);
if(x>=(int)x+0.5)
num=(int)x+1;
else num=(int)x;
for(a=0;a*11<=num;a++)
for(b=0;b*24<=num;b++)
{
 if(a*11+b*24<=num)
 {
  s=num-(a*11+b*24);
   if(s<min)
   {
    c=a,d=b;
     min=s;
   }
 }
}
printf("装%d小盒\n装%d大盒\n剩余%d块.",c,d,min);
    return 0;
}
某品牌巧克力使用500克原料可制作55小块巧克力,请编程实现:输入原料重量(以千克为单位),计算出制作巧克力的块数(四舍五入)。然后对这些巧克力进行分包,小盒放11块,大盒放24块,问各分装多少大盒多少小盒剩余巧克力块数最少
这是题目
for(a=0;a*11<=num;a++)
for(b=0;b*24<=num;b++)
{
 if(a*11+b*24<=num)
 {
  s=num-(a*11+b*24);
   if(s<min)
   {
    c=a,d=b;
     min=s;
   }
 }
}
这里有几个地方不明白 if(a*11+b*24<=num) 不成立 程序怎么走?
if(s<min)不成立程序怎么走
b++如果放下面应该放在哪个位置?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • RALPHFJY RLHaides 5年前

    图片说明
    想清楚算法就有了,我的vim没有配置好,所以只好截屏了

    点赞 评论 复制链接分享

相关推荐