本帖最后由 风过无痕1989 于 2020-9-15 20:12 编辑
双斜杠后面的就是注释,编译器是不会编译的,是写给编程人员自己看的,当共同协作完成某项大型工程时,他人知道你在干什么
编辑行号是用<>,在编辑器上部偏右的位置,也可以自己用代码进行 [code) ............(/code] ,将圆括号改为方括号即可
#include <stdio.h>
#include <string.h>
#define HEIGHT 7 // 根据下面定义,每个字母高度均是7行
// 定义一个指针数组,并初始化,即将下面花括号里的字符赋给该数组,C99允许不定长度,你填上长度 5 也是没有问题的
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; // 计算出该字母每一行有多少个字符,因为每个字符的高度(HEIGHT)由7个# 组成
line = i * len; // 计算当前打印第几行,因为由上一条语句计算出一个字符有7行
while (letters[j][line + k] != '@') // @ 这个字符标志着该行结束
{
putchar(letters[j][line + k]);
k++;
}
temp = gap; // 打印字母间的间隔(空格)
while (temp--)
{
putchar(' ');
}
}
putchar('\n');
}
return 0;
}
|