C语言轻松学习-5

Emmm…接下来,我将上页的“乘法口诀表”的代码写下来,看看和你之前思考的逻辑是否一致,若不一致自行测试一下。

“乘法口诀表”代码如下:

#include<stdio.h>
int main()
{
  for(int i=1;i<10;i++)
  {
    for(int j=1;j<=i;j++)
    printf(" %dx%d=%d",j,i,i*j);
    printf("\n");
  }
  return 0;
}

调试截图如下:大家有木有发现原来是对齐的,不过到了2×4=8之后就没有对齐,

所以,为了能够对齐,显示的比较美观,我们可以这样修改代码:

将第七行的最后一个“%d”修改为“%2d”

#include<stdio.h>
int main()
{
  for(int i=1;i<10;i++)
  {
    for(int j=1;j<=i;j++)
    printf(" %dx%d=%2d",j,i,i*j);
    printf("\n");
  }
  return 0;
}

调试截图如下:这样修改就可以保证个位和下面的个位一一对应了,显现的美观,

嵌套循环不仅可以这样用,也可以输出我们想要的各种形状,比如我想让程序输出一个菱形,那么我们先回思考菱形什么样子,可以拆分成什么,有何特征,我们应该如何去写,

思考完之后,我们就要开始动手了,代码如下:先分析菱形是由上下两个三角形组成,然后我们只需要输出上方三角形就可以了,那么上面三角形是由 空格直角三角形+面向左侧直角三角形+面向右侧直角三角形

大家可以看到,代码也分为两大部分,上部分,嵌套了三重循环,第一重 空格直角三角形,第二重 直角三角形 第三重 与第二重相反的直角三角形

#include<stdio.h>
int main()
{
  for(int i=1;i<=20;i++)
  {
    for(int j=20;j>=i;j--)
    {
      printf(" ");
    }
    for(int jl=1;jl<=i;jl++)
    {
      printf("*");
    }
    for(int il=1;il<=(i-1);il++)
    {
      printf("*");
    }
    printf("\n");
  }
  for(int i=1;i<=20;i++)
  {
    for(int j=1;j<=i;j++)
    {
      printf(" ");
    }
    for(int jl=20;jl>=i;jl--)
    {
      printf("*");
    }
    for(int il=20;il>=(i+1);il--)
    {
      printf("*");
    }
    printf("\n");
  }
  return 0;
}

调试截图如下:其实呢,最外层控制的是“行”有多少“行”决定多少“行”(因为有“printf(“\n”);”)

内层,控制样式,也就是控制多少“列”,每个“列”都显示什么,都被安排的明明白白,(严肃,不要笑,虽然我的菱形有点…但我们要的是理解嵌套循环的含义)

1 2 3 4
未经允许不得转载:晗雅|星空 » C语言轻松学习-5
分享到:

请选择你看完该文章的感受:

9瞧一瞧 0扯淡 3学到了 1不懂 8正能量 1无聊

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)