当前位置:网站首页>字符菱形的代码
字符菱形的代码
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,希望这篇文章对你有帮助
边栏推荐
猜你喜欢
随机推荐
7.25-7.29学习总结(状态机及PWM原理)
动态规划套题:不同路径
【建模必胜秘籍】往届国赛建模方法 2021高教社杯 国赛数学建模
0. About The Author And Preface
WinServer 2019 组策略开启远程桌面
2022华数杯A题: 环形振荡器的优化设计 - 思路
C语言知识细节点(一)
Jenkins Pipeline编写思路与技巧
Mysql(四)
爬虫实战 某问答网站乎
基于X264的动态帧率与动态码率调整的实现
前言:关于作者吴秋生博士与此书简介
2022高教社杯 国赛数学建模 D题思路
4. Using Local Geospatial Data
1. Introducing GEE and Geemap
typescript学习(二)
学编程的第十天
C语言知识细节点(二)
保姆级教程:写出自己的移动应用和小程序(篇四)
字典树、并查集相关:实现Trie、搜索推荐系统、朋友圈、被围绕的区域(未做) ...









