以下是一个爱心形状的C语言代码:
#include <stdio.h>
int main() {
int i, j;
int n = 6; // 控制爱心的大小
// 打印上半部分爱心
for (i = n / 2; i <= n; i += 2) {
// 打印空格
for (j = 1; j < n - i; j += 2) {
printf(" ");
}
// 打印左边的心形
for (j = 1; j <= i; j++) {
printf("*");
}
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印右边的心形
for (j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
// 打印下半部分爱心
for (i = n; i >= 1; i--) {
// 打印空格
for (j = i; j < n; j++) {
printf(" ");
}
// 打印左边的心形
for (j = 1; j <= (i * 2) - 1; j++) {
printf("*");
}
// 打印右边的心形
for (j = i; j < n; j++) {
printf(" ");
}
printf("\n");
}
return 0;
}
代码解析:
首先,我们定义变量 i
和 j
用于控制循环。
然后,我们定义变量 n
,它控制爱心的大小。在这个代码中,我们将 n
设置为 6,但你可以根据需要调整它。
接下来,我们使用两个嵌套的 for
循环打印上半部分的爱心形状。外部循环变量 i
控制每行的星号数量。内部循环变量 j
控制每行的空格数量。
我们首先打印一定数量的空格,以便使爱心居中。
然后,我们打印左边的心形,即 i
个星号。
接着,我们打印一定数量的空格,使得右边的心形与左边的心形对称。
最后,我们再次打印左边的心形,以完成上半部分的爱心形状。
在每次循环结束后,我们打印一个换行符,以便开始新的一行。
然后,我们使用另外一个嵌套的 for
循环打印下半部分的爱心形状。这部分与上半部分的打印过程类似,只是打印空格和星号的顺序相反。
最后,我们返回 0,表示程序执行成功。
这段代码通过循环和条件判断来控制每行打印的空格和星号的数量,从而形成一个爱心的图案。