c语言,用“我爱我家”四个字生成一个二十行的爱心图案
时间: 2023-06-06 08:06:51 浏览: 129
好的,以下是代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROWS 20
#define COLS 40
int main() {
char heart[] = "我爱我家";
int len = strlen(heart);
char image[ROWS][COLS+1]; // 加上 '\0'
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if ((j-COLS/2)*(j-COLS/2)*3 + (i-ROWS/2)*(i-ROWS/2) < ROWS*ROWS/4) {
// 在爱心区域内
int k = (i * COLS + j) % len; // 循环使用字符串中的字符
image[i][j] = heart[k];
} else {
// 在爱心区域外
image[i][j] = ' ';
}
}
image[i][COLS] = '\0'; // 最后一个字符必须为 '\0'
}
// 输出图案
for (int i = 0; i < ROWS; i++) {
printf("%s\n", image[i]);
}
return 0;
}
```
希望能帮到您!