C语言第二十五弹--打印菱形

简介: C语言第二十五弹--打印菱形

C语言打印菱形

思路:想要打印一个菱形,可以分为上下两部分,通过观察可以发现上半部分星号的规律是 1 3 5 7故理解为 2×对应行数 + 1 ,空格是4 3 2 1故理解为 行数-对应行数-1。

上半部分代码如下

  for (int i = 0;i < line;i++)
  {
    //上半部分
    int j = 0;
    for (j = 0; j < line - i - 1; j++)//空格
    {
      printf(" ");
    }
    for (j = 0; j < 2 * i + 1; j++)//*
    {
      printf("*");
    }
    printf("\n");
  }

思路:观察下半部分可以看出,空格和对应行数相同,*号是7 5 3 1 满足2×(行数 - 对于行数值- 1) -1。

代码如下

  for (int i = 0; i < line - 1; i++)
  {
    int j = 0;
    for (j = 0; j <= i;j++)//空格
    {
      printf(" ");
    }
    for (j = 0; j < 2 * (line - 1 - i) - 1 ;j++)//*
    {
      printf("*");
    }
    printf("\n");
  }

总代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>nt main()
{
  int line = 0;
  scanf("%d",&line);
  for (int i = 0;i < line;i++)
  {
    //上半部分
    int j = 0;
    for (j = 0; j < line - i - 1; j++)//空格
    {
      printf(" ");
    }
    for (j = 0; j < 2 * i + 1; j++)//*
    {
      printf("*");
    }
    printf("\n");
  }
  //下半部分
  for (int i = 0; i < line - 1; i++)
  {
    int j = 0;
    for (j = 0; j <= i;j++)//空格
    {
      printf(" ");
    }
    for (j = 0; j < 2 * (line - 1 - i) - 1 ;j++)//*
    {
      printf("*");
    }
    printf("\n");
  }
  return 0;
}
相关文章
|
6天前
|
C语言
C语言-----用二维数组解决菱形的打印问题
C语言-----用二维数组解决菱形的打印问题
23 0
|
6天前
|
C语言
c语言编程练习题:7-4 输出菱形图案
本题要求编写程序,输出指定的由“A”组成的菱形图案。
32 0
|
6天前
|
C语言
c语言经典例题讲解(输出菱形,喝汽水问题)
c语言经典例题讲解(输出菱形,喝汽水问题)
53 0
|
6天前
|
C语言
c语言编程练习题:7-59 打印菱形图案
c语言编程练习题:7-59 打印菱形图案
41 0
|
6天前
|
C语言
用c语言画菱形( ̄_ ̄ )
用c语言画菱形( ̄_ ̄ )
32 0
|
6月前
|
C语言
【C语言刷题】水仙花数、打印菱形、求和
【C语言刷题】水仙花数、打印菱形、求和
45 0
|
10月前
|
C语言
【C语言】输入行数,打印上下对称的菱形
【C语言】输入行数,打印上下对称的菱形
103 0
|
11月前
|
C语言
C语言:打印菱形
题目:打印菱形 背景:无。 思路:采用两个 for 循环,利用数学知识,推出规律
52 0
C语言:打印菱形
|
12月前
|
算法 C语言
C语言练级之路num4(有关各种菱形的打印)(用的都是基础的算法),会了这些图形的打印,从此再无你不会用的循环,给你理解的透透的
1.第一题(边框菱形的打印) 2.第二题边框 菱形的进阶 3.第三题(数字菱形的打印) 4.第四题:(空心菱形) 5.第五题(实心菱形): 6.第六题:(外带一个杨氏三角的再一次打印)
|
C语言
C语言打印菱形
C语言打印菱形
65 0