![]() |
#2
lin51616782020-09-16 10:31
|

#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("请输入字母的间隔(空格数):"); // 此程序输出 FISHC 五个字符,此句让你给出字符之间的间隔
scanf("%d", &gap);
for (i = 0; i < HEIGHT; i++) // 一行一行打印
{
for (j = 0; j < 5; j++) // 打印所有字母的某一行
{
k = 0; // k 用于迭代每一行的‘#’字符
len = strlen(letters[j]) / HEIGHT; // 计算出该字母每一行有多少个字符
line = i * len; // 计算当前打印第几行
while (letters[j][line + k] != '@') // @ 这个字符标志着该行结束
{
putchar(letters[j][line + k]);
k++;
}
temp = gap; // 打印字母间的间隔(空格)
while (temp--)
{
putchar(' ');
}
}
putchar('\n');
}
return 0;
}
#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("请输入字母的间隔(空格数):"); // 此程序输出 FISHC 五个字符,此句让你给出字符之间的间隔
scanf("%d", &gap);
for (i = 0; i < HEIGHT; i++) // 一行一行打印
{
for (j = 0; j < 5; j++) // 打印所有字母的某一行
{
k = 0; // k 用于迭代每一行的‘#’字符
len = strlen(letters[j]) / HEIGHT; // 计算出该字母每一行有多少个字符
line = i * len; // 计算当前打印第几行
while (letters[j][line + k] != '@') // @ 这个字符标志着该行结束
{
putchar(letters[j][line + k]);
k++;
}
temp = gap; // 打印字母间的间隔(空格)
while (temp--)
{
putchar(' ');
}
}
putchar('\n');
}
return 0;
}
没有行号,表述就麻烦一点了:
1、定义一个指针数组,却没有看到在程序中使用指针,那么这个指针数组到底起到了什么作用?
2、打印所有字母的某一行:明明每个字母都是7行,这里为什么 j < 5,只有5行?
3、计算出该字母每一行有多少个字符:为什么是除以每个字母的高度 HEIGHT ?
[此贴子已经被作者于2020-9-16 09:53编辑过]