c语言打印爱心代码

c语言打印爱心代码,第1张

#include <stdio.h>

int main()

{

int i, j, k, l, m

char c = '*' //用*号打印爱心

for (i = 1i <= 5i++)

printf("\n") //开头空出5行

for (i = 1i <= 3i++)

{ //前3行中间有空隙分开来写

for (j = 1j <= 32 - 2 * ij++)

printf(" ") //左边的空格,每下一行左边的空格比上一行少2个 //8*n-2*i

for (k = 1k <= 4 * i + 1k++)

printf("%c", c) //输出左半部分字符小爱心

for (l = 1l <= 13 - 4 * il++)

printf(" ") //中间的空格,每下一行的空格比上一行少4个

for (m = 1m <= 4 * i + 1m++)

printf("%c", c) //输出右半部分字符小爱心

printf("\n") //每一行输出完毕换行

}

for (i = 1i <= 3i++)

{ //下3行中间没有空格

for (j = 1j <= 24 + 1j++)

printf(" ") //左边的空格 //8*(n-1)+1

for (k = 1k <= 29k++)

printf("%c", c) //输出字符小爱心

printf("\n") //每一行输出完毕换行

}

for (i = 7i >= 1i--)

{ //下7行

for (j = 1j <= 40 - 2 * ij++)

printf(" ") //左边的空格,每下一行左边的空格比上一行少2个//8*(n+1)-2*i

for (k = 1k <= 4 * i - 1k++)

printf("%c", c) //每下一行的字符小爱心比上一行少4个(这个循环是i--)

printf("\n") //每一行输出完毕换行

}

for (i = 1i <= 39i++)

printf(" ") //最后一行左边的空格

printf("%c\n", c) //最后一个字符小爱心

for (i = 1i <= 5i++)

printf("\n") //最后空出5行

return 0

}

个人认为还行,7以上效果较好,不知道你要空心的还是实心的,都附上吧(百度知道好像把两个空格的位置上传后变成了一个空格,你自己要改一下,输出位置为一个空格的全部改成两个,其他的不用改):

实心的:

#include<stdio.h>

int n

void draw(int n)

{

int i,j

for (i=1-(n>>1)i<=ni++)

if (i>=0)

{

for (j=0j<ij++) printf(" ")

for (j=1j<=2*(n-i)+1j++) printf(" *")

printf("\n")

}

else

{

for (j=ij<0j++) printf(" ")

for (j=1j<=n+2*i+1j++) printf(" *")

for (j=1j<=-1-2*ij++) printf(" ")

for (j=1j<=n+2*i+1j++) printf(" *")

printf("\n")

}

}

int main()

{

printf("Please input the size (n>=4):")

scanf("%d",&n)

draw(n)

return 0

}

空心的:

#include<stdio.h>

int n

void draw(int n)

{

int i,j

for (i=1-(n>>1)i<=ni++)

if (i>0)

{

for (j=0j<ij++) printf(" ")

for (j=1j<=2*(n-i)+1j++)

if (j==1||j==2*(n-i)+1) printf(" *")

else printf(" ")

printf("\n")

}

else

if (i==0)

{

printf(" *")

for (j=1j<nj++) printf(" ")

printf(" *")

for (j=1j<nj++) printf(" ")

printf(" *\n")

}

else

{

for (j=ij<0j++) printf(" ")

for (j=1j<=n+2*i+1j++)

if (i==1-(n>>1)) printf(" *")

else if (j==1||j==n+2*i+1) printf(" *")

else printf(" ")

for (j=1j<=-1-2*ij++) printf(" ")

for (j=1j<=n+2*i+1j++)

if (i==1-(n>>1)) printf(" *")

else if (j==1||j==n+2*i+1) printf(" *")

else printf(" ")

printf("\n")

}

}

int main()

{

printf("Please input the size (n>=4):")

scanf("%d",&n)

draw(n)

return 0

}

#include<stdio.h>

int main()

    int i,j,k,l,m 

    char c='*'

    for(i=1i<=5i++) 

        printf("\n")

    for(i=1i<4i++) 

    { 

        for(j=1j<27-i*2j++) 

            printf(" ") 

        for(k=1k<=i*4+1k++) 

            printf("%c",c) 

        for(l=1l<=9-4*(i-1)l++) 

            printf(" ") 

        for(m=1m<=i*4+1m++) 

            printf("%c",c)

        printf("\n")

    } 

    for(i=1i<4i++) 

    { 

        for(j=1j<20j++)

            printf(" ")

        for(k=1k<=29k++)

            printf("%c",c) 

        printf("\n") 

    }

    for(i=1i<8i++) 

    { 

        for(j=1j<20+2*ij++)

            printf(" ")

        for(k=1k<=29-4*ik++)

            printf("%c",c)

        printf("\n")

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8163628.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存