首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这些代码段之间有什么不同?

这些代码段之间有什么不同?
EN

Stack Overflow用户
提问于 2015-09-29 13:58:27
回答 1查看 75关注 0票数 0

我正试图从解决LightOJ问题。我已经对下面的一个进行了编码,但它的答案是错误的。

代码语言:javascript
复制
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int tc;
    scanf("%d",&tc);
    int dum = 0;
    while(tc--)
    {


    double a,b;
    scanf("%Lf : %Lf",&a,&b);
    double theta = atan(b/a);
    double med = a + theta * sqrt(a*a + b*b);
    double rat = 200.0000f/(med);
    printf("Case %d: %.8Lf %.8Lf\n",++dum,a*rat,b*rat);

    }
    return 0;
}

但是下面的类似的一个被接受了。

代码语言:javascript
复制
#include <stdio.h>  
#include <math.h>  

const double PI=acos(-1.0);  

int main ()  
{  
    int T,a,b;  
    scanf("%d",&T);  
    for (int cas=1;cas<=T;cas++)  
    {  
        scanf("%d : %d",&a,&b);  
        double alpha=atan(1.0*a/b);  
        double R=200.0/(2.0*sin(alpha)+(PI-2*alpha));  
        printf("Case %d: %.8lf %.8lf\n",cas,2*R*sin(alpha),2*R*cos(alpha));  
    }  
    return 0;  
}  

我的解决方案做错了什么?

程序说明:我接受两个输入a和b.Where a/b = l/w (l =长度,w=宽度).Then,我在计算角θ。然后,我得到了弧的公式,作为弧+l= 200。我知道比率了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-29 14:16:03

在下一行中使用%Lf是不正确的。

代码语言:javascript
复制
double a,b;
scanf("%Lf : %Lf",&a,&b);

%Lf适合于long double,而不是double。使用%lf

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32845939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档