c++活泼虾 2022-10-26 15:47 采纳率: 66.7%
浏览 272
已结题

1330 - 求最大梯形的面积(语言-c++)

1330 - 求最大梯形的面积
题目描述
从键盘读入n(3<=n<=100)个梯形的上底、下底和高,请问这n个梯形中,最大面积的梯形的面积是多少?(梯形面积的求解公式为 S = (a + b) * h / 2,也就是(上底 + 下底) * 高 / 2)
(5.1.18)

输入
第1行为1个整数n,接下来n行每行3个整数分别代表梯形的上底、下底和高。

输出
最大面积梯形的面积(结果保留1位小数)

样例
输入复制
3
1 2 3
3 4 5
2 3 4
输出复制
17.5
来源
二维数组 结构体

标签
二维数组结构体

测试点1: Accepted, 用时: 0 ms, 内存: 260 KB
测试点2: Wrong Answer, 用时: 0 ms, 内存: 260 KB

#include<bits/stdc++.h>
using namespace std;
struct node{
    double a,b,h,s;
}c[155];
int none(node a,node b)
{
    return a.s>b.s;
}
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>c[i].a>>c[i].b>>c[i].h;
        c[i].s=(c[i].a+c[i].b)*1.0*c[i].h/2.0;
    }
    sort(c,c+n,none);
    cout<<c[0].s;
    return 0;
}

请各位专家修改一下!

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-10-26 15:58
    关注
    
    #include <algorithm>
    #include<bits/stdc++.h>
    using namespace std;
    struct node{
        double a,b,h,s;
    }c[155];
    int none(node a,node b)
    {
        return a.s>b.s;
    }
    int main()
    {
        int n;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>c[i].a>>c[i].b>>c[i].h;
            c[i].s=(c[i].a+c[i].b)*1.0*c[i].h/2.0;
        }
        sort(c,c+n,none);
        cout<<c[0].s;
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 请回答用户的提问 7月25日
  • 已结题 (查看结题原因) 9月22日
  • 创建了问题 10月26日