C语言题。分油问题。

来源:百度知道 编辑:UC知道 时间:2024/07/05 04:57:50
Q:从大容器往外倒一定体积的液体是中外古代数学家喜欢研究的一类问题,如下面这道厨师分油的程序设计题:若一位厨师要从盛12斤油的桶中倒出6斤油来,可是手边只有盛5斤油和8斤油的两个桶,问如何操作才能将6斤油取出来呢?请编程实现。

先把把8斤的油桶倒满,用这里面的油倒在5斤的桶里,8斤的桶里就剩下了3斤油,把这3斤油取出来,重复一次就得到了六斤油

这个简单,程序如下:

****我是注释**************************
*****(qun:37378637)********

程序开始:用C语言实现
#include <stdio.h>
int i;
main()
{
int a,y,z;
printf("Input Full a,Empty b,c,Get i:");
scanf("%d%d%d%d",&a,&y,&z,&i);
getyou(a,y,z);
while(1)
getchar();
}

getyou(int a,int y,int z)
{
int b=0,c=0;
printf("%4d%4d%4d\n%4d%4d%4d\n",a,y,z,a,b,c);
while(a!=i||b!=i)
{
if(!b)
{a-=y;b=y;}
else if(c==z)
{a+=z;c=0;}
else if(b>z-c)
{b-=(z-c);c=z;}
else
{c+=b;
b=0;}
printf("%4d%4d%4d\n",a,b,c);
}
}

怎么看也不像编程题,倒像小学应用题。。。