View Code of Problem 104

#include<stdio.h>
#include<math.h>
void main()
{
	float n, v1, v2, t;
	while (scanf("%f %f %f %f",&n,&v1,&v2,&t)!=EOF)
	{
		float s;
		if (n == 0) printf("0.00\n");
		else if ((v1 >= 0 && v2 >= 0) || (v1 <= 0 && v2 <= 0))
		{
			if (v1 >= 0 && v2 >= 0)
			{
				if (v2 >= v1)printf("No\n");
				else if ((v1 - v2)*t < n * 1000) printf("No\n");
				else
				{
					s = (n * 1000) / (v1 - v2);
					printf("%.2f\n", s);
				}
			}
			else if (v1 <= 0 && v2 <= 0)
			{
				if (fabs(v1) >= fabs(v2))printf("No\n");
				else if ((fabs(v2) - fabs(v1))*t < n * 1000) printf("No\n");
				else
				{
					s = (n * 1000) / (fabs(v2) - fabs(v1));
					printf("%.2f\n", s);
				}
			}
		}
		else if (v1 > 0 && v2 < 0)
		{
			if ((v1 + fabs(v2))*t < n * 1000) printf("No\n");
			else
			{
				s = (n * 1000) / (v1 + fabs(v2));
				printf("%.2f\n", s);
			}
		}
		else if(v1<0&&v2>0)
		{
			printf("No\n");
		}
	}
}

Double click to view unformatted code.


Back to problem 104