编程写爱心
❶ 求一个c语言程序能输出一个大的爱心;用符号拼成的不能用printf。
在C语言中,可以通过编程实现输出一个大的爱心形状。这里提供两个示例,一个为实心爱心,另一个为空心爱心,具体代码如下:
实心爱心:
#include
int n;
void draw(int n) {
int i,j;
for (i=1-(n>>1);i<=n;i++) {
if (i>=0) {
for (j=0;j<2*(n-i)+1;j++) {
putchar(" *");
}
putchar("\n");
}
else {
for (j=i;j<0;j++) {
putchar(" ");
}
for (j=1;j<=n+2*i+1;j++) {
putchar(" *");
}
for (j=1;j<=-1-2*i;j++) {
putchar(" ");
}
for (j=1;j<=n+2*i+1;j++) {
putchar(" *");
}
putchar("\n");
}
}
}
int main() {
printf("Please input the size (n>=4):");
scanf("%d",&n);
draw(n);
return 0;
}
空心爱心:
#include
int n;
void draw(int n) {
int i,j;
for (i=1-(n>>1);i<=n;i++) {
if (i>0) {
for (j=0;j<2*(n-i)+1;j++) {
if (j==1||j==2*(n-i)+1) {
putchar(" *");
} else {
putchar(" ");
}
}
putchar("\n");
}
else if (i==0) {
putchar(" *");
for (j=1;j<2*n+1;j++) {
putchar(" *");
}
putchar(" *\n");
}
else {
for (j=i;j<0;j++) {
putchar(" ");
}
if (i==1-(n>>1)) {
putchar(" *");
}
for (j=1;j<=n+2*i+1;j++) {
if (i==1-(n>>1)) {
putchar(" *");
} else if (j==1||j==n+2*i+1) {
putchar(" *");
} else {
putchar(" ");
}
}
for (j=1;j<=-1-2*i;j++) {
putchar(" ");
}
if (i==1-(n>>1)) {
putchar(" *");
}
for (j=1;j<=n+2*i+1;j++) {
if (i==1-(n>>1)) {
putchar(" *");
} else if (j==1||j==n+2*i+1) {
putchar(" *");
} else {
putchar(" ");
}
}
putchar("\n");
}
}
}
int main() {
printf("Please input the size (n>=4):");
scanf("%d",&n);
draw(n);
return 0;
}
这两个代码示例可以根据需要调整爱心的大小,输入相应的整数值即可生成不同的爱心形状。
在编程实现时,需要注意循环变量的初始化和终止条件,以及正确的输出格式。通过合理设置循环条件和输出内容,可以实现各种形状的爱心输出。
以上代码在编译和运行时,需要确保编译器支持C99标准或更高版本。同时,输入的数值必须大于等于4,以确保爱心形状的完整性。