|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <string.h>
- #define HEIGHT 7 // 根据下面定义,每个字母高度均是7行
- const char *letters[] = {
- "\
- \########@\
- \## @\
- \## @\
- \###### @\
- \## @\
- \## @\
- \## @\
- ",
- "\
- \####@\
- \ ## @\
- \ ## @\
- \ ## @\
- \ ## @\
- \ ## @\
- \####@\
- ",
- "\
- \ ###### @\
- \## ##@\
- \## @\
- \ ###### @\
- \ ##@\
- \## ##@\
- \ ###### @\
- ",
- "\
- \## ##@\
- \## ##@\
- \## ##@\
- \#########@\
- \## ##@\
- \## ##@\
- \## ##@\
- ",
- "\
- \ ###### @\
- \## ##@\
- \## @\
- \## @\
- \## @\
- \## ##@\
- \ ###### @\
- "
- };
- int main()
- {
- int i, j;
- int gap;
- printf("请输入字母的间隔(空格数):");
- scanf("%d", &gap);
- // 一行一行打印
- for (i = 0; i < HEIGHT; i++)
- {
- // 打印所有字母的某一行
- for (j = 0; j < 5; j++)
- {
- // k 用于迭代每一行的‘#’字符
- int k = 0;
- // 计算出该字母每一行有多少个字符
- int len = strlen(letters[j]) / HEIGHT;
- // 计算当前打印第几行
- int line = i * len;
- // @标志着该行结束
- while (letters[j][line+k] != '@')
- {
- putchar(letters[j][line+k]);
- k++;
- }
- // 打印字母间的间隔(空格)
- int temp = gap;
- while (temp--)
- {
- putchar(' ');
- }
- }
- putchar('\n');
- }
- return 0;
- }
复制代码
第75行已经回答你了:@标志着该行结束。你的程序有问题,你用这个吧:
- #include <stdio.h>
- #include <string.h>
- #define HEIGHT 7 // 根据下面定义,每个字母高度均是7行
- const char *letters[] = {
- "\
- \########@\
- \## @\
- \## @\
- \###### @\
- \## @\
- \## @\
- \## @\
- ",
- "\
- \####@\
- \ ## @\
- \ ## @\
- \ ## @\
- \ ## @\
- \ ## @\
- \####@\
- ",
- "\
- \ ###### @\
- \## ##@\
- \## @\
- \ ###### @\
- \ ##@\
- \## ##@\
- \ ###### @\
- ",
- "\
- \## ##@\
- \## ##@\
- \## ##@\
- \#########@\
- \## ##@\
- \## ##@\
- \## ##@\
- ",
- "\
- \ ###### @\
- \## ##@\
- \## @\
- \## @\
- \## @\
- \## ##@\
- \ ###### @\
- "
- };
- int main()
- {
-
- int i,j,k;
- int gap;
- int len;
- int line;
- int temp;
- printf("请输入字母的间隔(空格数):");
- scanf("%d", &gap);
- for (i = 0; i < HEIGHT; i++) // 一行一行打印
- {
- for (j = 0; j < 5; j++) // 打印所有字母的某一行
- {
- k = 0; // k 用于迭代每一行的‘#’字符
- len = strlen(letters[j]) / HEIGHT; // strlen计算得到全部字符 全部字符/7 就是每行用的字符个数
- line = i * len; // 计算当前打印第几行
- while (letters[j][line + k] != '@') // @标志着该行结束
- {
- putchar(letters[j][line + k]);
- k++;
- }
- temp = gap; // 打印字母间的间隔(空格)
- while (temp--)
- {
- putchar(' ');
- }
- }
- putchar('\n');
- }
- return 0;
- }
复制代码
|
|