吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 426|回复: 1
收起左侧

[学习记录] 用C/C++解决算法题:OXY三角形面积

[复制链接]
lijialong1313 发表于 2023-4-6 09:09
题目描述:

输入三角形的A点、B点坐标x1 y1 x2 y2,计算出以原点和这2个点构成的三角形OAB的面积(保留一位小数)。(-1000<=x1,y1,x2,y2<=1000,三角形一定存在)

输入样例:

0 3 2 2

输出样例:

3



思路:

三角形面积公式可以通过两条临边加上角度得到。即S=1/2*OA*OB*Sin角AOB。

化简可知其为:S=1/2*|x1y2-x2y1|,因此可直接使用公式计算。

C/C++代码:
[C++] 纯文本查看 复制代码
#include <stdio.h>
int main() {
        int x1, y1, x2, y2;
        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
        
        float ans;//定义面积
        float d;
        
        d = (x1 * y2 - x2 * y1);
    int a;
    double b;
        if (d < 0) {
                d = 0 - d;
        }
        ans = 0.5 * d;//求面积
    a=(int)ans;
    b=(double)a;
    if(b==ans)
    {
        printf("%d", a);
    }
    else{
        printf("%0.1f", ans);
    }
        return 0;
}


萌新第一次发帖

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

weiya909 发表于 2023-4-6 11:02
用chatGpt给你验证一下,多学几个方案
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-23 18:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表