回 帖 发 新 帖 刷新版面

主题:一道题求解


题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2039  
请问是哪里出错了呢?老是WA

[code=c]
#include<stdio.h>
#include<math.h>
int main()
{
 int t;
 int flag;
 float a,b,c,max,min;
 while(scanf("%d",&t)!=EOF)
 {  
  while(t--)
  {  
  flag=1;
  scanf("%f %f %f",&a,&b,&c);  
  if(a+b<b+c)
  {max=a+b;
  if(max>a+c)
  {
  max=a+c;
  }
  }
  else
  {
  max=b+c;
  if(max>a+c)
  {
  max=a+c;
  }
  }
    
  if(fabs(a-b)>fabs(b-c))
  {min=fabs(a-b);
  if(min<fabs(a-c))
  {
  min=fabs(a-c);
  }
  }
  else
  {
  min=fabs(b-c);
  if(min<fabs(a-c))
  {
  min=fabs(a-c);
  }
  }
  if(a<=min||a>=max||b<=min||b>=max||b<=min||b>=max)
  {flag=0;}

  if(flag)
  {
  printf("YES\n");
  }
  else
  {
  printf("NO\n");
  }
  }
 }
 return 0;
}
[/code]

回复列表 (共6个回复)

沙发

不看加密过的天书,Google一下啥叫“排版”

板凳

while(t--);T没有定义,你这程序是干啥的?

3 楼

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

void swap(double &i, double &j)
{
     double k = i;
     i = j;
     j = k;
}

bool is_tri(double a, double b, double c)
{
     //chg to a > b > c
     if(b < c){
          swap(b, c);
     }
     if(a < c){
          swap(a, c);
     }
     if(a < b){
          swap(a, b);
     }
     //check
     if( (a < b + c)  &&  (a - c < b) ){
          return true;
     }
     return false;
}

void work(FILE *fp)
{
     assert(NULL != fp);
     int round = 0;
     fscanf(fp, "%d", &round);
     while(round--){
         double a,b,c;
         fscanf(fp, "%lf %lf %lf", &a, &b, &c);
         if(is_tri(a, b, c)){
            printf("YES\n");
         }else{
            printf("NO\n");
         }
     }
}

int main()
{
    FILE *fp = stdin;//fopen("hdu2039.txt", "r");
    work(fp);
    //system("pause");
    return 0;
}

4 楼

[quote]不看加密过的天书,Google一下啥叫“排版”[/quote]
[em28]

5 楼

楼主注意下代码风格,没事可以看下 <<高质量C/C++编程>>

6 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册