倒水问题
问题如下:现有容量M、N升的两个罐子(依次记为A、B)没有任何刻度,要求从水池中量出K升水放到另一个容器里。其中M、N、K都是正整数。例如,对于M=7、N=3、K=1,可以这样操作,先用A罐量M升水,再利用B罐从A罐中量两次N升水,A罐中剩余的就是所要的一升水。编程输出操作过程,或者输出“不可能”。这道题怎么做,请教各位了。 程序代码:
[color=#0000FF]#include<stdio.h> void main() { int M,N,K,t; printf("请输入相关数据:\n"); while(1) { printf("请输入A罐子的容量M:\n"); scanf("%d",&M); printf("请输入B罐子的容量N:"); scanf("%d",&N); printf("请输入要求K的数量:\n"); scanf("%d",&K); if(M<0||N<0||K<0) printf("请重新输入数据:\n"); else break; } t=M/N; if(N>M||(M-t*N)!=K) printf("不可能\n"); if((M-t*N)==K) printf("可能\n"); }
[/color]上面是我写的代码!能够正确判断!可是sunyh1999版主说没有打印过程!望路过的指教一二!怎么实现!本人也在努力思考中