水题不解释
#include <stdio.h> #include <math.h> int main() { int i=1,flag=0; double a,b,c; while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF&&a||b||c) { printf("Triangle #%d ",i++); if(a==-1) { if(b>=c) flag=-1; else { a=sqrt(c*c-b*b); flag=1; } } else if(b==-1) { if(a>=c) flag=-1; else { b=sqrt(c*c-a*a); flag=2; } } else { c=sqrt(a*a+b*b); flag=3; } if(flag==-1) { printf("Impossible. "); } else { switch(flag) { case 1: printf("a = %.3lf ",a); break; case 2: printf("b = %.3lf ",b); break; case 3: printf("c = %.3lf ",c); break; } } } return 0; }