#include<stdio.h>int main(){ int dove,rabbit,flag=0; int head,feet,df,rf; //df表示鸽子的脚的数量,rf表示兔子的教的数量 while(scanf("%d %d",&head,&feet),head,feet) { dove=0;rabbit=0; for(dove=0;(dove<=head)&&(dove<=feet/2)&&(head-dove>=0);dove++) { df=2*dove; rf=feet-df; rabbit=rf/4; if((rf%4==0)&&(rabbit+dove==head)) {flag=1;break;} } if(flag==1) printf("%d %d\n",dove,rabbit); else printf("error\n"); dove=0;rabbit=0; } return 0;}我想问为什么我用这个循环程序但是先输入35 94这组数据再输入1 3这组数据,1 3的结果不是error而是2 0;当我先输入1 3数据时,出来的结果就是我想要的error。这跟输入顺序还有关吗
先输入后输入不一致的问题,是flag没有及时归零导致的。
......