[学习笔记]用C语言打印任意一个菱形图案
仿真使用VScode进行编写编译
思路:运用顶点到中心点的距离进行设计。
废话不多说上代码!
代码如下:
#include <stdio.h>
int main()
{
int removing_num,line_position,column_position,seal_position; //距离,行,列,打印位置
printf("请输入顶点到中心点的距离\n");
scanf("%d",&removing_num);
for(line_position = 0;line_position <=removing_num; line_position++)
{
for(column_position = removing_num - line_position; column_position>0; column_position--)
{
printf(" ");
}
for(seal_position = 0 ; seal_position <= line_position; seal_position++)
{
printf("*");
}
for(seal_position = line_position-1; seal_position >= 0 ; seal_position--)
{
printf("*");
}
printf("\n");
}
for(line_position = 1 ; line_position <= removing_num; line_position++)
{
for(column_position = 1; column_position <= line_position; column_position++)
{
printf(" ");
}
for(seal_position= 1; seal_position>line_position-removing_num; seal_position--)
{
printf("*");
}
for(seal_position = 1; seal_position>= line_position-removing_num+2 ; seal_position--)
{
printf("*");
}
printf("\n");
}
return 0;
}
——————————————————————————————————————————————————————————————————————————————————————————————————
简化代码:
#include <stdio.h>
int main()
{
char n;
int i;
int j, k;
printf("请输入到中心点的距离\n");
scanf("%d",&n);
for(i = 0;i <=n; i++)
{
for(j = n - i;j>0;j--)
printf("*");
}
for(k = 0 ;k<=i;k++)
{
printf("A");
}
for(k = i-1; k>=0 ; k--)
{
printf("A");
}
printf("\n");
}
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
for(k= 1;k>i-n;k--)
{
printf("A");
}
for(k = 1; k>=i-n+2 ; k--)
{
printf("A");
}
printf("\n");
}
return 0;
}
---------------------------------------------------------------------------------------------------
运行结果如下:
请输入到中心点的距离
3
*
***
*****
*******
*****
***
*
# 学习目标:C语言循环与分支的掌握
# 学习内容:
1.熟练运用for循环,能分清楚运行的先后顺序
2.掌握C语言的基本语法
3.搭建C语言编译环境
# 学习时间:
1、 周一至周五早上 9 :00—晚上8:30
2、 周六上午 9 :00-下午17:30
# 学习产出:
1、优快云 博客 1 篇
2、作业1份