上代码,没有代码,别人无法分析你思路哪里出了问题,相信voidx肯定可以帮你的,看好你的“勤能补拙”这句。

我们都在路上。。。。。

程序代码:#include<stdio.h>
// 数组 number 用来保存各个数字的点阵,每个数字用 5 x 5 的点阵表示。其中 1 为需要被显示的点,0 为不需要显示的点。
char number[10][5][5] = {{{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 1}, // 1 1
{1, 0, 0, 0, 1}, // 1 1
{1, 0, 0, 0, 1}, // 1 1
{1, 1, 1, 1, 1}}, // 11111
{{0, 0, 0, 1, 0}, // 1
{0, 1, 0, 1, 0}, // 1 1
{0, 0, 0, 1, 0}, // 1
{0, 0, 0, 1, 0}, // 1
{0, 0, 0, 1, 0}}, // 1
{{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 0}, // 1
{1, 1, 1, 1, 1}}, // 11111
{{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{1, 1, 1, 1, 1}}, // 11111
{{1, 0, 0, 0, 1}, // 1 1
{1, 0, 0, 0, 1}, // 1 1
{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{0, 0, 0, 0, 1}}, // 1
{{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 0}, // 1
{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{1, 1, 1, 1, 1}}, // 11111
{{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 0}, // 1
{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 1}, // 1 1
{1, 1, 1, 1, 1}}, // 11111
{{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{0, 0, 0, 1, 0}, // 1
{0, 0, 0, 1, 0}, // 1
{0, 0, 0, 1, 0}}, // 1
{{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 1}, // 1 1
{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 1}, // 1 1
{1, 1, 1, 1, 1}}, // 11111
{{1, 1, 1, 1, 1}, // 11111
{1, 0, 0, 0, 1}, // 1 1
{1, 1, 1, 1, 1}, // 11111
{0, 0, 0, 0, 1}, // 1
{1, 1, 1, 1, 1}}}; // 11111
// 显示数字,n 表示要现实的数字,c 为在每个点现实的字符
void print_number(int n, char c) {
int i, j;
printf("\n"); // 显示数字前先打印一个空行,为了好看,嘿嘿~
if (n < 0 || n > 9) { // 如果要现实的数字不在 0~9 的范围内
printf("%d is out of range.\n\n", n); // 显示提示信息
return; // 函数返回,下面的语句都不会被执行
}
// 下面通过两重循环显示输入的数字
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (number[n][i][j]) { // 如果某个点需要被显示
printf("%c", c); // 在这个点打印 c 中的字符
} else { // 否则
printf(" "); // 打印空格
}
}
printf("\n");
}
printf("\n");
}
int main() {
int n;
printf("Press any letter key and then press Enter to quit.\n");
printf("Give me a number n ( 0 <= n <= 9): ");
fflush(stdout); // 强迫立刻显示标准输出流中的内容,这句没有也可以。我用的 mintty,所以需要这个。
while (scanf("%d", &n)) {
print_number(n, '#'); // 显示输入的数字,用 '#' 表示点阵中的一个点
printf("Give me a number n ( 0 <= n <= 9): ");
fflush(stdout); // 同上。
}
return 0;
}
程序代码:#include<stdio.h>
#include<conio.h>
/*模拟七段显示的字符数组*/
char *Number[10][7]={{
" FFFFFF ",
"F F",
"F F",
" ",
"F F",
"F F",
" FFFFFF "},
{
" ",
" F",
" F",
" ",
" F",
" F",
" "},
{
" FFFFFF ",
" F",
" F",
" FFFFFF ",
"F ",
"F ",
" FFFFFF "},
{
" FFFFFF ",
" F",
" F",
" FFFFFF ",
" F",
" F",
" FFFFFF "},
{
" ",
"F F",
"F F",
" FFFFFFF",
" F",
" F",
" "},
{
" FFFFFF ",
"F ",
"F ",
" FFFFFF ",
" F",
" F",
" FFFFFF "},
{
" FFFFFF ",
"F ",
"F ",
" FFFFFF ",
"F F",
"F F",
" FFFFFF "},
{
" FFFFFF ",
" F",
" F",
" ",
" F",
" F",
" "},
{
" FFFFFF ",
"F F",
"F F",
" FFFFFF ",
"F F",
"F F",
" FFFFFF "},
{
" FFFFFF ",
"F F",
"F F",
" FFFFFF ",
" F",
" F",
" FFFFFF "}};
int DisplayArrayFUD(int x);/*打印与数字的对应数组*/
int main()
{
int inumber=0;
int i=1;
while(i)/*输入数字并显示,i 用于循环控制,便于多次查看*/
{
printf("Please enter a number(0<number<9):");
scanf("%d",&inumber);
printf("\n\n");
DisplayArrayFUD(inumber);
printf("\n\n1 continue\n0 break\nEnter:");
scanf("%d",&i);
clrscr();
}
}
int DisplayArrayFUD(int x)
{
int i=0;
for(i=0;i<7;i++)/*每个数字用 8*7 的字符方块显示,所以循环7次,每次打印一行*/
{
printf("%s\n",Number[x][i]);
}
}好久没写代码了,太烂勿见怪
