K-计算面积

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

小w给你三种图形,可能是平行四边形,三角形,梯形,对于给定的TTT个图形,你需要依次回答每个图形的面积,保证答案为整数。

输入描述:

共T+1T+1T+1行。

第一行一个整数T(1≤T≤105)T(1\leq T\leq 10^5)T(1≤T≤105),表示数据组数。

接下来TTT行,每行333或444个整数,第一个整数aaa代表图形的种类,a=1a=1a=1代表平行四边形,a=2a=2a=2代表三角形,a=3a=3a=3代表梯形。

若a=1a=1a=1或a=2a=2a=2,则该行有两个参数bbb,ccc,分别代表平行四边形或三角形的底和高。

若a=3a=3a=3,则该行有三个参数bbb,ccc,ddd,分别代表梯形的上底,下底和高。

保证面积不会超过10910^9109

输出描述:

共TTT行。

对于每组数据,输出对应图形的面积。

示例1

输入

复制1 1 1 1

1
1 1 1

输出

复制1

1

快来参加“大连大学2023年4月程序设计竞赛(同步赛)”~ 比赛时间:2023-04-15 10:00:00 - 2023-04-15 15:00:00,比赛时长:5小时,比赛地址:https://ac.nowcoder.com/acm/contest/55416。

//注本人的为错误代码,未通关。 

//当时根据通关人数最多做的此题,直到比赛结束,从通关人数上来说,这题应该算签到题,不过不太理解错在哪里,题目要求输出整数,从样例来说,结果是0.5,题目输出为1,那么我当时想这个涉及到了向下取整,结果还是不对,然后就不知道如何做了,请大家指教。

 

 

#include<bits/stdc++.h>
using namespace std;
int main(){
    int t,a,b,c,d;
    cin>>t;
    while(t--){
        double s=0;
        cin>>a>>b>>c>>d;
        if(a==1||a==2){
            s=b*c/2.0;
            }
        else {
            s=(b+c)*d/2.0;
        }
        cout<<ceil(s)<<endl;
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星河欲转。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值