主题:一道题求解
yyandlb
[专家分:0] 发布于 2010-07-29 20:51:00
题目地址: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个回复)
沙发
bruceteen [专家分:42660] 发布于 2010-07-29 23:22:00
不看加密过的天书,Google一下啥叫“排版”
板凳
强强 [专家分:4740] 发布于 2010-07-29 23:40:00
while(t--);T没有定义,你这程序是干啥的?
3 楼
knzeus [专家分:0] 发布于 2010-07-31 01:16:00
#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 楼
cxxcomp [专家分:2370] 发布于 2010-07-31 19:17:00
[quote]不看加密过的天书,Google一下啥叫“排版”[/quote]
[em28]
5 楼
xu0xiang0 [专家分:90] 发布于 2010-08-05 11:17:00
楼主注意下代码风格,没事可以看下 <<高质量C/C++编程>>
6 楼
moke9 [专家分:30] 发布于 2010-09-02 07:27:00
你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
我来回复