[C語言]給定直角三角形面積和斜邊長


 

翹課的HugeGun_

時間限制:1000ms   內存限制:65536kb

題目描述

HugeGun學姐很喜歡翹課。不幸的是,這一次她被發現了。

老師讓她打掃了教室。當她把掃把靠在牆上時突然發現,由於燈光來自正上方,掃把與在牆面和地面的影子構成了一個直角三角形。

於是她想知道,對於一個直角三角形,給定斜邊的邊長和這個三角形的面積,如何計算直角邊的邊長。

睿智的你當然會幫助她。

輸入

第一行一個整數nn表示數據組數

接下來nn行,每行2個整數l,Sl,S分別表示斜邊長度和面積大小

輸出

輸出nn行

ii行為第ii組數據的答案:

若不能找到直角邊長滿足條件,輸出hhhg

否則輸出兩個兩位小數a,ba,b表示直角邊長,其中需要滿足a<=ba<=b

輸入樣例

3
5 6
7 8
1 2

輸出樣例

3.00 4.00
2.44 6.56
hhhg

數據范圍

1l106

0Sl2

【我的題解】

設三角形兩邊為a,b,斜邊為l;

S=1/2*a*b;

l2=a2+b2

解方程得答案。

#include<stdio.h>
#include<math.h>
#include<string.h>
int main(){
    double a,b,l,s;
    double gen1,gen2;
    int n;
    scanf("%d",&n);
    while(n--){
        scanf("%lf%lf",&l,&s);
        if(l*l<4*s) {
            printf("hhhg\n");
            continue;
        }
        gen1=sqrt(l*l-4*s);
        gen2=sqrt(l*l+4*s);
        a=(gen2+gen1)/2;
        b=(gen2-gen1)/2;
        printf("%.2lf %.2lf\n",b,a); 
    }
    return 0;
}

感謝瀏覽!❤

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM