1、switch在多分支中更加便捷好用,使得代码更有可阅读性。

2、代码空间与时间实际相差并不是很大。如图所示:

用循环嵌套搭配switch语句与if语句做一个简易爱心的比较_循环

用循环嵌套搭配switch语句与if语句做一个简易爱心的比较_#include_02

由此可见,尽管switch用于多分支,也可以用if来代替。

代码结果如下:

一:

#include<stdio.h>

int main()

{

char a;

scanf("%c", &a);

int i = 1;

while (i <= 7)

{


 int j = 1;

 while (j <= 10)

 {

  j++;

  //用switch语句来实现

  switch (i)

  {

   case 1:

   {

    if (j == 2 || j == 3 || j == 6 || j == 9 || j == 10)

    {

     printf(" ");

     continue;

    }

    else if (j == 11)

    {

     printf("\n");

    }

    else

     printf("%c", a);

    break;

   }

   case 2:

   {

    if (j == 2  || j == 6 || j == 10)

    {

     printf(" ");

     continue;

    }

    else if (j == 11)

    {

     printf("\n");

    }

    else

     printf("%c", a);

    break;

   }

   case 3:

   {

    if (j == 11)

    {

     printf("\n");

    }

    else

     printf("%c", a);

    break;

   }

   case 4:

   {

    if (j == 2 || j == 10)

    {

     printf(" ");

     continue;

    }

    else if (j == 11)

    {

     printf("\n");

    }

    else

     printf("%c", a);

    break;

   }

   case 5:

   {

    if (j == 2 || j == 3 || j == 9 || j == 10)

    {

     printf(" ");

     continue;

    }

    else if (j == 11)

    {

     printf("\n");

    }

    else

     printf("%c", a);

    break;

   }

   case 6:

   {

    if (j == 5 || j == 6 || j == 7)

    {

     printf("%c", a);

     continue;

    }

    else if (j == 11)

    {

     printf("\n");

    }

    else

     printf(" ");

    break;

   }

   case 7:

   {

    if (j == 6)

    {

     printf("%c", a);

     continue;

    }

    else if (j == 11)

    {

     printf("\n");

    }

    else

     printf(" ");

    break;

   }

   default:

    break;

  }

             }

 i++;

}

return 0;

}

用循环嵌套搭配switch语句与if语句做一个简易爱心的比较_循环_03

二、

#include<stdio.h>

int main()

{

char a;

scanf("%c", &a);

int i = 1;

while (i <= 7)

{

 int j = 1;

 while (j <= 10)

 {

  j++;

//用if来实现

     if (i == 1)  

  {

   if (j == 2 || j == 3 || j == 6 || j == 9 || j == 10)

   {

    printf(" ");

    continue;

   }

   else if (j == 11)

   {

    printf("\n");

   }

   else

    printf("%c", a);

  }

  if (i == 2)

  {

   if (j == 2  || j == 6  || j == 10)

   {

    printf(" ");

    continue;

   }

   else if (j == 11)

   {

    printf("\n");

   }

   else

    printf("%c", a);

  }

  if (i == 3)

  {

   if (j == 11)

   {

    printf("\n");

   }

   else

    printf("%c", a);

  }

  if (i == 4)

  {

   if (j == 2  || j == 10)

   {

    printf(" ");

    continue;

   }

   else if (j == 11)

   {

    printf("\n");

   }

   else

    printf("%c", a);

  }

  if (i == 5)

  {

   if (j == 2 || j == 3 ||  j == 9 || j == 10)

   {

    printf(" ");

    continue;

   }

   else if (j == 11)

   {

    printf("\n");

   }

   else

    printf("%c", a);

  }

  if (i == 6)

  {

   if (j == 5 || j == 6 || j == 7)

   {

    printf("%c",a);

    continue;

   }

   else if (j == 11)

   {

    printf("\n");

   }

   else

    printf(" ");

  }

  if (i == 7)

  {

   if (j==6)

   {

    printf("%c",a);

    continue;

   }

   else if (j == 11)

   {

    printf("\n");

   }

   else

    printf(" ");

  }

 }

 i++;

}

return 0;

}

用循环嵌套搭配switch语句与if语句做一个简易爱心的比较_循环_04