C語言 顯示器 模擬

2021-10-07 05:38:14 字數 1651 閱讀 9671

題目描述

你的乙個朋友買了一台電腦。他以前只用過計算器,因為電腦的顯示器上顯示的數字的樣子和計算器是不一樣,所以當他使用電腦的時候會比較鬱悶。為了幫助他,你決定寫乙個程式把在電腦上的數字顯示得像計算器上一樣。

輸入輸入包括若干行,每行表示乙個要顯示的數。每行有兩個整數s和n (1 <= s <= 10, 0 <= n <= 99999999),這裡n是要顯示的數,s是要顯示的數的尺寸。

如果某行輸入包括兩個0,表示輸入結束。這行不需要處理。

輸出輸出顯示的方式是:用s個』-『表示乙個水平線段,用s個』|'表示乙個垂直線段。這種情況下,每乙個數字需要占用s+2列和2s+3行。另外,在兩個數字之間要輸出乙個空白的列。在輸出完每乙個數之後,輸出乙個空白的行。注意:輸出中空白的地方都要用空格來填充。

樣例輸入

2 12345

3 67890

0 0樣例輸出

--   --        --

| | | | | |

| | | | | |

-- -- -- --

| | | | |

| | | | |

-- -- --

--- --- --- --- ---

| | | | | | | |

| | | | | | | |

| | | | | | | |

--- --- ---

| | | | | | | |

| | | | | | | |

| | | | | | | |

--- --- --- ---

這類題目比較簡單,因為顯示效果比較有趣所以記錄下來。

思路:因為列印是一行一行從上到下的,所以每列印一行要遍歷一次輸入的數字串,根據數字位置在對應列位置上列印其區域性符號。

#include int main()

else if(k>0&&k<=s&&i==s+1) //列印數字中間的橫線

else if(k>0&&k<=s&&i==2*s+2) //列印數字底部的橫線

else if(k==0&&i>=1&&i<=s) //列印左上部分豎線

else if(k==s+1&&i>=1&&i<=s) //列印右上部分豎線

else if(k==0&&i>=s+2&&i<=2*s+1) //列印左下部分豎線

else if(k==s+1&&i>=s+2&&i<=2*s+1) //列印右下部分豎線

else

printf(" ");

}if(m[j+1]) //最後乙個數字不輸出空白列

printf(" ");

}printf("\n");

}printf("\n");

}return 0;

}

效果圖:

關閉顯示器

sendmessage hwnd 65535,274,61808,2 sendmessage hwnd,wm syscommand,sc monitorpower,2 wm syscommand 意為 視窗訊息 系統指令 sc monitorpower 意為 系統指令 顯示器電源 1 the dis...

顯示器引數

hdmi 1.4 hdmi 2.0 dp 1.2 dp 1.4 type c介面 雷電3介面 描述解析度的單位有 dpi 點每英吋 lpi 線每英吋 和ppi 畫素每英吋 從技術角度說,畫素 只存在於電腦顯示領域,而 點 只出現於列印或印刷領域。5k 5120 x 2,880 4k 4096 x 2...

C語言 七段顯示器輸出數字

1.題目要求 2.思路 step1 需要乙個10 7的二維陣列來確定每個數字該顯示的部分,比如數字9需要在題目所示的0,1,2,3,5,6的位置顯示 或者 因為一共有0 9 10個數字,每個數字有7個位置要確定 所以需要10 7的二維陣列 step2 手動地將所有的數字顯示形狀在紙上畫出來,再根據將...