用C打印菱形

打印菱形

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
 int line;
 printf("请输入总行数:\n");
 scanf("%d", &line);
 int i, j;
 //打印上半部分
 for (i = 1;i <= line;i++)//上半部分行数
 {
  for (j = 1;j <= line - i;j++)
  {
   printf(" ");
  }//打印空格,空格数目等于上半部分总行数减去每行对应的行数
  for (j = 1;j <= 2 * i - 1;j++)
  {
   printf("*");
  }//打印*,*数目等于每行对应行数乘以2再减去1
  printf("\n");//打印完一行的内容之后换行
  }
 //打印下半部分
 for (i = 1;i <= line - 1;i++)//下半部分的总行数要比上半部分的总行数少一行
 {
  for (j = 1;j <= i;j++)
  {
   printf(" ");
  }//每行的空格数目等于每行对应的行数
  for (j = 1;j <= 2 * ((line - 1) - (i - 1)) - 1;j++)
  {
   printf("*");
  }//每行对应的*数目等于下半部分总行数减去每行对应行数减1的差乘以2再减去1
  printf("\n");
 }
 system("pause");
 return 0;
}

在这里插入图片描述

心得

这种打印图形的程序,最重要的就是找规律,找到图形的规律之后一切都会变得简单起来,空间想象力以及数学总结能力也很重要!

注意

代码上有具体注释,这里就不一一解释了,小伙伴们请自行理解,如果有其他的好方法的话请大家留言一起探讨!!!

猜你喜欢

转载自blog.csdn.net/qq_40603003/article/details/88774435
今日推荐