当前位置:网站首页>字符菱形的代码
字符菱形的代码
2022-08-09 15:05:00 【我好闲*】
//打印菱形
//将它看作两个三角行的拼凑,一个三角行+去掉这个三角行的最低行的倒置
// 先求上三角行的总行数n1=(row/2+1) row为菱形的总行数
// 上三角形的输出逻辑
// *的数量随行的规律: n1为上三角行总行数 i为第几行 i初始化为1 i--=>n1 *的数量:2*i-1
// 空格的数量随行的规律: n1为上三角行总行数 i为第几行 i初始化为1 i--=>n1 空格数量:n1-i
//下三角形(去掉这个三角行的最低行的倒置)的输出逻辑
//下三角行总行数n2=row/2 row为菱形的总行数
//下三角行输出逻辑
//*的数量随行的规律: n2为下三角形总行数 i初始化为num/2 i--=>0 *的数量:2*i-1
//空格的数量随行的规律: n2为下三角形总行数 i初始化为num/2 i--=>0 空格的数量:n1-i
//打印菱形
//将它看作两个三角行的拼凑,一个三角行+去掉这个三角行的最低行的倒置
// 先求上三角行的总行数n1=(row/2+1) row为菱形的总行数
// 上三角形的输出逻辑
// *的数量随行的规律: n1为上三角行总行数 i为第几行 i初始化为1 i--=>n1 *的数量:2*i-1
// 空格的数量随行的规律: n1为上三角行总行数 i为第几行 i初始化为1 i--=>n1 空格数量:n1-i
//下三角形(去掉这个三角行的最低行的倒置)的输出逻辑
//下三角行总行数n2=row/2 row为菱形的总行数
//下三角行输出逻辑
//*的数量随行的规律: n2为下三角形总行数 i初始化为num/2 i--=>0 *的数量:2*i-1
//空格的数量随行的规律: n2为下三角形总行数 i初始化为num/2 i--=>0 空格的数量:n1-i
#include <stdio.h>
int main()
{
char s = '\0';
int row = 0; //总行数
scanf("%c %d", &s, &row); //输入字符和总行数
int i = 0, black = 0, k = 0; //black为空格变量名
int n1 = row / 2 + 1; //上三角行行数
int n2 = row / 2; //下三角形行数
//打印出上三角行图形
for (i = 1;i <=n1;i++)
{
for (black = 1;black <= n1 - i;black++)
{
printf(" ");
}
k = 1;
while (k <= 2 * i - 1)
{
printf("*");
k++;
}
printf("\n");
}
//打印出下三角形图形
for (i = n2;i >= 0;i--)
{
for (black = 1;black <= n1 - i;black++)
{
printf(" ");
}
k = 1;
while (k <= 2 * i - 1)
{
printf("*");
k++;
}
printf("\n");
}
return 0;
}
写代码一定要加适当的注释,这不仅有利于他人观看,也有利于自己后期检查。
该代码的测试环境为CodeBlocks,希望这篇文章对你有帮助
边栏推荐
猜你喜欢
随机推荐
NAT种类及配置
2022华数杯C题:插层熔喷非织造材料的性能控制研究 - 思路
opacity和rgba的区别
Dolphin Scheduler 2.x版本部署篇
QT程序设计多人聊天室(基于QT、sqlite3、TCP/IP)
Jenkins Pipeline编写思路与技巧
全局服务器调度简介
2022华数杯B题思路: 水下机器人的组装计划
用指针和malloc定义一个数组
基于X264的动态帧率与动态码率调整的实现
超文本链接
2022华数杯建模A题思路解析
传输层协议TCP/UDP
Lens 创建 Service Accounts 及分配权限
学编程的第六天
学习编程的第三天
Zip包的读取与写入
C语言知识细节点(一)
认识盒子模型
3. Using Earth Engine Data









