如何用C语言循环做一个爱心,要能动的

Python014

如何用C语言循环做一个爱心,要能动的,第1张

#include<stdio.h>

#include<string.h>

int get_left_or_right_setp()

{

 static int current = 0

 static int right = 1

 

 if (1 == right)

 {

  current++

 }

 else

 {

  current--

 }

 

 if (10 == current)

 {

  right = 0

 }

 else if (0 == current)

 {

  right = 1

 }

 

 return current

}

void kongge(int step_cnt)

{

 int i = 0

 

 for (i = 0 i < step_cnt i++)

 {

  printf("  ")

 }

}

void clear_screen()

{

 //linux选这个

 system("clear")

 

 //win选这个

 //system("cls")

}

void printf_love()

{

 int step_cnt = get_left_or_right_setp()

 

    kongge(step_cnt) printf("        **           **        \n")

    kongge(step_cnt) printf("    *       *     *       *    \n")

    kongge(step_cnt) printf("  *            *            *  \n")

    kongge(step_cnt) printf(" *                           * \n")

    kongge(step_cnt) printf(" *                           * \n")

    kongge(step_cnt) printf(" *                           * \n")

    kongge(step_cnt) printf(" *                           * \n")

    kongge(step_cnt) printf("  *                         *  \n")

    kongge(step_cnt) printf("   *                       *   \n")

    kongge(step_cnt) printf("    *                     *    \n")

    kongge(step_cnt) printf("      *                 *      \n")

    kongge(step_cnt) printf("        *             *        \n")

    kongge(step_cnt) printf("          *         *          \n")

    kongge(step_cnt) printf("             *   *             \n")

    kongge(step_cnt) printf("               *               \n")

}

int main(void)

 while (1)

 {

  clear_screen()

  printf_love()

  sleep(1)

 }

 

 return 0

}

伪动态 靠清屏实现动态

#include <stdio.h>

int main()

{ int i, j, k, l, m

char c[3] = "好"

for (i=1i<=5i++) printf("\n")

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

{

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

    printf("  ")

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

    printf("%s", c)

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

    printf("  ")

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

    printf("%s", c)

  printf("\n")

}

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

{

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

    printf("  ")

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

    printf("%s", c)

  printf("\n")

}

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

{ //下7行

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

    printf("  ")

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

    printf("%s", c)

  printf("\n")

}

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

  printf("  ")

printf("%s\n", c)

return 0

}

===========================

#include <stdio.h>

int main()

{ int i, j, k, l, m,n=0

char c[] = "以陕西市区办赛条件为基础承办绝大多数竞技项目比赛,将帆船、皮划艇激流回旋、冲浪、霹雳舞、击剑、场地自行车等场地条件要求特殊和新增设的竞技比赛项目,小项安排在陕西以外的浙江、山东、四川、海南、江苏、天津、河南等省市举办。群众比赛项目中,陕西省承办乒乓球。"

for (i=1i<=5i++) printf("\n")

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

{

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

    printf("  ")

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

    printf("%c%c", c[n],c[n+1]),n+=2

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

    printf("  ")

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

    printf("%c%c", c[n],c[n+1]),n+=2

  printf("\n")

}

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

{

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

    printf("  ")

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

    printf("%c%c", c[n],c[n+1]),n+=2

  printf("\n")

}

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

{ //下7行

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

    printf("  ")

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

    printf("%c%c", c[n],c[n+1]),n+=2

  printf("\n")

}

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

  printf("  ")

printf("%c%c\n", c[n],c[n+1])

return 0

}

运行错误导致c语言爱心只有一半。其实主要有3点原因,

1、代码书写比较粗心,有的同学对着书籍敲的,看似一样的代码,实则不一样。比如有一些标点符号写错成中文的。

2、运行时程序出错,可能是你代码中逻辑写错了,比如死循环等,内存非法访问等。

3、不会调试,代码不仅要会写,还要会调试代码,在运行时进行分析,这样才算合格。