文章

【GESP】C++一级练习BCQM3029,选择合适的数据类型

还是输入-计算-输出类型的题目,但需要考虑变量的数据类型,严格来说可以属于出题不严谨,却意外的可以考虑思维的严谨性。

BCQM3029

题目要求

描述

金字塔的侧面是由四个大小相同的等腰三角形构成的。给出三角形的底和高,输出其中一个侧面的面积。

输入

输入两个数分别是底和高。

输出

输出三角形的面积。

输入样例

9 10

输出样例

1
s=45

题目分析

还是简单的读入变量值,根据三角形面积公式(底 * 高 / 2)后按要求格式输出结果的问题。但这道题有一个容易忽略的点,题目中并没有明确的说输入底和高以及输出面积的数据类型,而给出的样例输入和输出都是两个整数。很容易直接使用int进行计算,事实上我的孩子踩到了这个坑,提交代码自然不能通过所有的测试点,改为double计算即可。

代码参考

1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main() {
    double a, b;
    cin >> a >> b;
    cout << "s=" << a * b / 2;
    return 0;
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

本文由作者按照 CC BY 4.0 进行授权