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,那么我当时想这个涉及到了向下取整,结果还是不对,然后就不知道如何做了,请大家指教。

K-计算面积_第1张图片 

 

#include
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<

 

你可能感兴趣的:(牛客,算法,c++)