若蓄水池满水时,打开排水管需要y小时可以排空,且x<y,y<10。若当前蓄水池为空,同时打开进水管和排水管,请编写程序输人 x和y的值,并将之后每个小时蓄水池的水量记录在一个数组中,直到蓄水池被灌满,并按以下格式输出
输出示例:
after I hour: ** (**应为具体的水量值,为当前蓄水池中水量与蓄水池容量的比值)
after 2 hour: **
..................
after n hour: 1(n 是灌满蓄水池所需的小时数,1表示蓄水池已满)
#include <stdio.h>
int main()
{ float x,y,n;
float a[100];
int i;
while(1)
{ scanf("%f%f",&x,&y);
if(x>=y)
{ printf("入水时间大于出水时间,请重新输入");
}
else
break;
}
n=(x*y/(y-x)); // 计算注满时间的公式为: (1/x- 1/y)*n=1
for(i=1;i<=n;i++)
{
a[i]=(i/x-i/y);
printf("after %d hour: %f\n",i,a[i]);
}
return 0;
}