>>641
#include <stdio.h>
#include <math.h>
#define EPS (1.0e-30)
int func(double a, double b, double c, double *r1, double *r2){
double D;
if(fabs(a)<=EPS){
if(fabs(b)<=EPS) return 0;
*r1=-c/b;
return 1;
}
D=b*b-4*a*c;
if(D<0.0) return 0;
if(D<=EPS){
*r1=-b/(2*a);
return 1;
}
*r1=(-b+sqrt(D))/(2*a);
*r2=(-b-sqrt(D))/(2*a);
return 2;
}
int main(void){
double v0, a, l=100.0, v1, v2, t1, t2;
printf("初速度(m/s) :"); scanf("%lf", &v0);
printf("加速度(m/s^2) :"); scanf("%lf", &a);
switch(func(a/2, v0, -l, &t1, &t2)){
case 2: v2=v0+a*t2; printf("時間 %f(s) 速度 %f(m/s)\n", t2, v2);
case 1: v1=v0+a*t1; printf("時間 %f(s) 速度 %f(m/s)\n", t1, v1); break;
default: printf("解なし\n"); break;
}
return 0;
}