在股票技術分析中,日K線(蠟燭圖)是最基礎也最重要的圖表工具之一。每根K線包含四個關鍵價位:開盤價、收盤價、最高價、最低價。本題要求根據這四個價位,判斷K線的實體類型(陽線/陰線/十字星)以及上下影線的存在情況。
影線反映了當日價格波動的極值範圍:
注意:十字星因開收盤價相同,上下影線判斷基準統一為該價位。
#include <stdio.h>
#include <stdlib.h>
int main() {
float open, close, high, low;
scanf("%f %f %f %f", &open, &high, &low, &close);
// 實體類型判斷(互斥關係,建議用 if-else if)
if (close < open)
printf("BW-Solid");
else if (close > open)
printf("R-Hollow");
else
printf("R-Cross");
// 影線判斷(可並存,需獨立判斷)
bool hasLower = (low < open && low < close);
bool hasUpper = (high > open && high > close);
if (hasLower && hasUpper)
printf(" with Lower Shadow and Upper Shadow");
else if (hasLower)
printf(" with Lower Shadow");
else if (hasUpper)
printf(" with Upper Shadow");
return 0;
}
if-else if-else 結構,避免多次判斷== 比較十字星在精度上通常可接受,但工程實踐建議設定微小閾值| 輸入 | 輸出 | 說明 |
|---|---|---|
| 10.0 12.0 9.0 11.0 | R-Hollow with Lower Shadow and Upper Shadow | 陽線,雙影線 |
| 10.0 11.0 9.5 9.0 | BW-Solid with Upper Shadow | 陰線,僅上影線 |
| 10.0 10.0 9.0 11.0 | R-Cross with Lower Shadow and Upper Shadow | 十字星,雙影線 |
| 10.0 11.0 10.0 10.5 | R-Hollow | 陽線,無影線(光頭光腳) |
本題考察基礎分支結構與金融數據邏輯的結合。關鍵在於正確理解K線構成要素,將業務規則精確轉化為條件判斷。實際開發中,建議封裝為獨立函數,便於複用與單元測試。