上代码,没有代码,别人无法分析你思路哪里出了问题,相信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]); } }好久没写代码了,太烂勿见怪