1. 程式人生 > 其它 >日K蠟燭圖

日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

answer

#include <stdio.h>
int main(){
	double open,high,low,close;
	scanf("%lf %lf %lf %lf",&open,&high,&low,&close);
	if(close < open){
		if(low<open&&low<close){
			if(high>open&&high>close){
				printf("BW-Solid with Lower Shadow and Upper Shadow");
			}
			else 
				printf("BW-Solid with Lower Shadow");
		}
		else if(high>open&&high>close)
			printf("BW-Solid with Upper Shadow");
		else
			printf("BW-Solid");
	}else if(close == open){
		if(low<open&&low<close){
			if(high>open&&high>close){
				printf("R-Cross with Lower Shadow and Upper Shadow");
			}
			else 
				printf("R-Cross with Lower Shadow");
		}
		else if(high>open&&high>close)
			printf("R-Cross with Upper Shadow");
		else
			printf("R-Cross");
	}else{
		if(low<open&&low<close){
			if(high>open&&high>close){
				printf("R-Hollow with Lower Shadow and Upper Shadow");
			}
			else 
				printf("R-Hollow with Lower Shadow");
		}
		else if(high>open&&high>close)
			printf("R-Hollow with Upper Shadow");
		else
			printf("R-Hollow");
	}
	return 0;
}