1. 程式人生 > 實用技巧 >7-13 日K蠟燭圖

7-13 日K蠟燭圖

題目:

股票價格漲跌趨勢,常用蠟燭圖技術中的K線圖來表示,分為按日的日K線、按周的周K線、按月的月K線等。以日K線為例,每天股票價格從開盤到收盤走完一天,對應一根蠟燭小圖,要表示四個價格:開盤價格Open(早上剛剛開始開盤買賣成交的第1筆價格)、收盤價格Close(下午收盤時最後一筆成交的價格)、中間的最高價High和最低價Low。

如果Close<Open,表示為“BW-Solid”(即“實心藍白蠟燭”);如果Close>Open,表示為“R-Hollow”(即“空心紅蠟燭”);如果Open等於Close,則為“R-Cross”(即“十字紅蠟燭”)。如果Low比Open和Close低,稱為“Lower Shadow”(即“有下影線”),如果High比Open和Close高,稱為“Upper Shadow”(即“有上影線”)。請程式設計序,根據給定的四個價格組合,判斷當日的蠟燭是一根什麼樣的蠟燭。

輸入格式:

輸入在一行中給出4個正實數,分別對應Open、High、Low、Close,其間以空格分隔。

輸出格式:

在一行中輸出日K蠟燭的型別。如果有上、下影線,則在型別後加上with 影線型別。如果兩種影線都有,則輸出with Lower Shadow and Upper 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<stdio.h>
int main(){
double o,h,l,c;   //o:open h:high l:low c:close
scanf("%lf %lf %lf %lf",&o,&h,&l,&c);
if(c<o){
    printf("BW-Solid");
}
else if(c>o){
    printf("R-Hollow");
}
else if(c==o){
    printf("R-Cross");
}
if((l<o && l<c)&&(h>o && h>c)){
    printf(
" with Lower Shadow and Upper Shadow"); } else if(l<o && l<c){ printf(" with Lower Shadow"); } else if(h>o && h>c){ printf(" with Upper Shadow"); } return 0; }