编程题 7-13 日K蜡烛图【PAT】
文章目录
- 题目
- 输入格式
- 输出格式
- 输入样例1
- 输出样例1
- 输入样例2
- 输出样例2
- 输入样例3
- 输出样例3
- 题解
- 解题思路
- 完整代码
编程练习题目集目录
题目
股票价格涨跌趋势,常用蜡烛图技术中的 K K K 线图来表示,分为按日的日 K K K 线、按周的周 K K K 线、按月的月 K K K 线等。以日 K K K 线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开盘价格 O p e n Open Open(早上刚刚开始开盘买卖成交的第 1 1 1 笔价格)、收盘价格 C l o s e Close Close(下午收盘时最后一笔成交的价格)、中间的最高价 H i g h High High 和最低价 L o w Low Low。
如果 C l o s e < O p e n Close < Open Close<Open,表示为 “ B W − S o l i d ” “BW-Solid” “BW−Solid”(即“实心蓝白蜡烛”);如果 C l o s e > O p e n Close > Open Close>Open,表示为 “ R − H o l l o w ” “R-Hollow” “R−Hollow”(即“空心红蜡烛”);如果 O p e n = C l o s e Open = Close Open=Close,则为 “ R − C r o s s ” “R-Cross” “R−Cross”(即“十字红蜡烛”)。如果 L o w Low Low 比 O p e n Open Open 和 C l o s e 低 Close低 Close低,称为 “ L o w e r S h a d o w ” “Lower Shadow” “LowerShadow”(即“有下影线”),如果 H i g h High High 比 O p e n Open Open 和 C l o s e Close Close 高,称为 “ U p p e r S h a d o w ” “Upper Shadow” “UpperShadow”(即“有上影线”)。请编程序,根据给定的四个价格组合,判断当日的蜡烛是一根什么样的蜡烛。
输入格式
输入在一行中给出 4 4 4 个正实数,分别对应 O p e n 、 H i g h 、 L o w 、 C l o s e Open、High、Low、Close Open、High、Low、Close,其间以空格分隔。
输出格式
在一行中输出日 K K K 蜡烛的类型。如果有上、下影线,则在类型后加上 w i t h with with 影线类型。如果两种影线都有,则输出 w i t h with with L o w e r Lower Lower S h a d o w Shadow Shadow a n d and and U p p e r Upper Upper S h a d o w Shadow Shadow。
输入样例1
5.110 5.250 5.100 5.105
输出样例1
BW-Solid with Lower Shadow and Upper Shadow
输入样例2
5.110 5.110 5.110 5.110
输出样例2
R-Cross
输入样例3
5.110 5.125 5.112 5.126
输出样例3
R-Hollow
题解
解题思路
先输入四个浮点型数字,然后根据题目要求来判断,输出对应即可。
完整代码
#include<iostream>
using namespace std;int main(void)
{float Open, High, Low, Close;cout << "请输入四个正实数:"; // 提交时注释此行cin >> Open >> High >> Low >> Close;if (Close > Open)cout << "R-Hollow";else if (Close < Open)cout << "BW-Solid";elsecout << "R-Cross";if (Low < Open && Low < Close && High > Open && High > Close)cout << " with Lower Shadow and Upper Shadow" << endl;else if (Low < Open && Low < Close)cout << " with Lower Shadow" << endl;else if (High > Open && High > Close)cout << " with Upper Shadow" << endl;return 0;
}