团体程序设计天梯赛-练习集———L1-060 心理阴影面积+L1-061 新胖子公式

前言

这几道题都相对比较简单,没有什么大的逻辑,应该可以很快的解出来,这些题比赛时应该会比较轻松

L1-060 心理阴影面积

在这里插入图片描述
这是一幅心理阴影面积图。我们都以为自己可以匀速前进(图中蓝色直线),而拖延症晚期的我们往往执行的是最后时刻的疯狂赶工(图中的红色折线)。由红、蓝线围出的面积,就是我们在做作业时的心理阴影面积。

现给出红色拐点的坐标 (x,y),要求你算出这个心理阴影面积。

输入格式:

输入在一行中给出 2 个不超过 100 的正整数 x 和 y,并且保证有 x>y。这里假设横、纵坐标的最大值(即截止日和最终完成度)都是 100。

输出格式:

在一行中输出心理阴影面积。

友情提醒:三角形的面积 = 底边长 x 高 / 2;矩形面积 = 底边长 x 高。嫑想得太复杂,这是一道 5 分考减法的题……

输入样例:

90 10

输出样例:

4000

比较简单对吧,我看有几个学弟学妹做的时候貌似对坐标啥的不太敏感,这个题就是直接输入后输出就可以,一个大三角形的面积减去两个小三角形的面积就出来了,大三角形的面积是固定的,就是5000,然后两个小三角形在算就行了

代码

#include <stdio.h>

int main()
{
    int h,l;
    scanf("%d %d",&h,&l);
    printf("%d",5000-(50*l)-(50*(100-h)));
}

L1-061 新胖子公式

根据钱江晚报官方微博的报导,最新的肥胖计算方法为:体重(kg) / 身高(m) 的平方。如果超过 25,你就是胖子。于是本题就请你编写程序自动判断一个人到底算不算胖子。

输入格式:

输入在一行中给出两个正数,依次为一个人的体重(以 kg 为单位)和身高(以 m 为单位),其间以空格分隔。其中体重不超过 1000 kg,身高不超过 3.0 m。

输出格式:

首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后 1 位。如果这个数值大于 25,就在第二行输出 PANG,否则输出 Hai Xing。

输入样例 1:

100.1 1.74

输出样例 1:

33.1
PANG

输入样例 2:

65 1.70

输出样例 2:

22.5
Hai Xing

咱也不知道为啥这么多针对胖子的公式,也就真是邪门了,想到了之前一个bmi的题,这个里面的变量就用bmi表示了

代码

#include <stdio.h>

int main()
{
    double kg,m;
    scanf("%lf %lf",&kg,&m);
    double bmi;
    bmi = kg/m/m;//计算公式
    if(bmi>25)printf("%.1lf\nPANG",bmi);//判断输出
    else printf("%.1lf\nHai Xing",bmi);
}

以上所有代码均为自己编写,本人水平有限,如果有哪里出错或者有更好的解法可以与我私信或在评论区里进行讨论

当前提供的引用内容并未涉及 PTA 团体程序设计天梯赛 L1-039 的具体题目描述或解答方法。然而,基于以往的经验以及类似的编程竞赛题目模式,可以推测该题目的可能方向及其解决方案。 --- ### 可能的题目背景 PTA 团体程序设计天梯赛中的 L1 类型题目通常面向基础算法能力测试,主要考察选手对基本数据结构的理解、简单的逻辑推理能力和代码实现技巧。假设 **L1-039** 是一道典型的入门级题目,则其可能会围绕以下几个方面展开: 1. 字符串处理。 2. 数组操作。 3. 基础数学运算。 4. 条件分支与循环控制。 以下是针对上述可能性的一种合理推断及对应的解决思路。 --- ### 推测题目描述 #### 题目名称:字符频率统计 ##### 描述: 给定一段文本字符串,要求统计并输出每个字母(区分大小写)在字符串中出现的次数。忽略其他非字母字符。 ##### 输入格式: 单行输入,包含若干个字符组成的字符串,长度不超过 1,000。 ##### 输出格式: 按照字典序从小到大依次输出每种字母及其对应频次,格式如下: ``` a:x b:y ... z:w A:m B:n ... Z:k ``` 如果某个字母未出现过,则无需输出。 --- ### 解决方案 以下是一个完整的 C++ 实现示例,用于完成上述任务。 ```cpp #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string s; int freq[256] = {0}; // 初始化数组存储 ASCII 范围内的字符计数 // 获取输入直到 EOF 或换行结束 getline(cin, s); // 统计字符频率 for (char c : s) { if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { freq[c]++; } } // 按照字典序输出结果 for (char c = 'a'; c <= 'z'; ++c) { if (freq[c]) cout << c << ":" << freq[c] << endl; } for (char c = 'A'; c <= 'Z'; ++c) { if (freq[c]) cout << c << ":" << freq[c] << endl; } return 0; } ``` 此代码通过遍历输入字符串来记录各字母的出现次数,并最终依据字典顺序逐一展示结果[^6]。 --- ### 注意事项 尽管以上是对潜在问题的一个猜测版本,实际比赛中遇到的具体情况仍需参照官方发布的正式文档为准。对于任何特定需求下的编码实践而言,务必注意边界条件验证、异常情形捕捉等方面的工作细节以确保提交答案具备足够的鲁棒性和准确性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值