第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;
}
|