用c语言写一个程序把在电脑上的数字显示得像计算器上一样,输入包括若干行,每行表示一个要显示的数。每行有两个整数s和n (1 <= s <= 10, 0 <= n <= 99999999),这里n是要显示的数,s是要显示的数的尺寸。 如果某行输入包括两个0,表示输入结束。这行不需要处理。显示的方式是:用s个'-'表示一个水平线段,用s个'|'表示一个垂直线段。这种情况下,每一个数字需要占用s+2列和2s+3行。另外,在两个数字之间要输出一个空白的列。在输出完每一个数之后,输出一个空白的行。注意:输出中空白的地方都要用空格来填充。
时间: 2024-03-12 21:48:29 浏览: 38
以下是一个用C语言实现的程序,可以根据输入的数字和尺寸,将其显示为一个类似计算器的样式:
```c
#include <stdio.h>
int main() {
int s, n;
scanf("%d%d", &s, &n);
while (s != 0 || n != 0) {
int len = 0, tmp = n;
while (tmp) {
len++;
tmp /= 10;
}
if (len == 0) len = 1;
int row, col, i, j;
row = 2 * s + 3;
col = s + 2;
// 数字0~9的样式
char num[10][5][4] = {
{
" - ",
"| |",
" ",
"| |",
" - "
},
{
" ",
" |",
" ",
" |",
" "
},
{
" - ",
" |",
" - ",
"| ",
" - "
},
{
" - ",
" |",
" - ",
" |",
" - "
},
{
" ",
"| |",
" - ",
" |",
" "
},
{
" - ",
"| ",
" - ",
" |",
" - "
},
{
" - ",
"| ",
" - ",
"| |",
" - "
},
{
" - ",
" |",
" ",
" |",
" "
},
{
" - ",
"| |",
" - ",
"| |",
" - "
},
{
" - ",
"| |",
" - ",
" |",
" - "
}
};
// 输出数字的每一行
for (i = 0; i < row; i++) {
for (j = 0; j < len; j++) {
if (j != 0) printf(" "); // 数字之间输出一个空白列
int d = n % 10;
n /= 10;
printf("%c", num[d][i / (s + 1)][j]);
for (int k = 0; k < s; k++) printf(" ");
}
printf("\n");
}
printf("\n");
scanf("%d%d", &s, &n);
}
return 0;
}
```
该程序首先读取输入的数字和尺寸,然后根据数字的每一位,输出对应的样式。在输出数字时,程序会在数字之间插入一个空白列,同时在每个数字的下面输出一个空白行。程序会不断读取输入,直到遇到两个0为止。