菱形的组成
【摘要】 @TOC 菱形#define _CRT_SECURE_NO_WARNINGS//vs中解决scanf安全问题#include<stdio.h>int main(){ int i = 0; int j = 0; int n = 0; scanf("%d", &n); for (i = 0; i < n; i++)//n为7的上三角形 { for (j = 0; j < n - 1 - i; ...
@TOC
菱形
#define _CRT_SECURE_NO_WARNINGS//vs中解决scanf安全问题
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int n = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)//n为7的上三角形
{
for (j = 0; j < n - 1 - i; j++)
{
printf(" ");
}
for (j = 0; j <= i; j++)
{
printf("%c ", '*');
}
printf("\n");
}
for (i = 0; i < n - 1; i++)//n为6的下三角形
{
for (j = 0; j <= i; j++)
{
printf(" ");
}
for (j = n - 1 - 1 - i; j >= 0; j--)
{
printf("%c ", '*');
}
printf("\n");
}
return 0;
}
`
假设n为7的菱形
我们可以把它分为两部分 上三角形 下三角形
1.上三角形
我们发现想要将三角形转换成菱形的上部分 就需要思考左边界与 * 空格个数
以n为7的三角形为例
顶点与左边界的空格个数是6 ------>n-1
顶点下一个*的空格个数是5------->n-1-1
最下面的与左边界空格个数是 0
2.下三角形
n为7 表示6的下三角形 —>n-1
第一次 是6个数 下标从0取到5 5----->n-1-1
第二次 是 5个数 下标从0取到4 4------->n–1-1
即从n-1-1-i开始到0
这里的顶点与左边界的空格个数是 0
依次增加 1 到最后顶点到达最大空格个数
由于我们菱形的下三角形的空格个数需从1开始才能保证 两个三角形连接
所以 j<i改成 j<=i
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)