題目描述
你的乙個朋友買了一台電腦。他以前只用過計算器,因為電腦的顯示器上顯示的數字的樣子和計算器是不一樣,所以當他使用電腦的時候會比較鬱悶。為了幫助他,你決定寫乙個程式把在電腦上的數字顯示得像計算器上一樣。
輸入輸入包括若干行,每行表示乙個要顯示的數。每行有兩個整數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 手動地將所有的數字顯示形狀在紙上畫出來,再根據將...