2009-01-15 16:29:06來源不明

2007 NPSC A. 畢氏定理

學習重點:double比較精準!floor回傳小於等於它的最大整數

/**********************************************************/

  1. #include<stdio.h>      
  2. #include<stdlib.h>   
  3. #include<string.h>   
  4. #include<math.h>   
  5. main()   
  6. {   
  7.  double a,b,c,a1,b1;   
  8.  int m,n;   
  9.  while(scanf("%d %d",&n,&m)==2&&n!=0)   
  10.   {        
  11.    a=sqrt(n*n+m*m);   
  12.    b=sqrt(abs(n*n-m*m));      
  13.    a1=floor(a);   
  14.    b1=floor(b);   
  15.    if(b1==b)   
  16.     printf("%.0lf",b);   
  17.    else if(a1==a)   
  18.     printf("%.0lf",a);   
  19.           
  20.    else  
  21.     printf("Wrong");   
  22.     printf("\n");    
  23.   }      
  24.  return 0;        
  25. }