活动地址:毕业季·进击的技术er
夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始。这是一个毕业的月份,每年看到很多毕业生都离校上班,在校生准备考试和暑假实习,都非常感慨,不管怎样,作为在校生,玩好的同时,还是要能够扎实的学习,打好坚实基础,从初学C语言开始,为后续的实习找工作做准备。
前言
前面已经在 【C语言练习——打印上三角及其变形】 、【C语言练习——打印上三角及其变形(带空格版)】 、【C语言练习——打印空心下三角及其变形】练过打印上三角及其变形、打印空心三角形及其变形了。
本文在此基础上,练习打印空心上三角及其变形,如下图所示:分别是上三角的无空格版、带空格版、空心版
1、打印空心上三角
1.1 空心上三角左对齐版
//打印空心上三角———左对齐版
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
for (int i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j < n - i; j++)
{//满足条件输出 * ,即在边界上就是 *
if (i == 0 || j == 0 || j == n - i - 1 )
printf("* ");
else
printf(" ");//不在边界上的点都是空格
}
printf("\n");
}
}
return 0;
}
结果见下图:
1.2 空心上三角中间对齐版
//打印空心上三角———中间对齐版
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
for (int i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j <= i; j++)
{
printf(" ");
}
for (j = 0; j < n - i; j++)
{//满足条件输出 * ,即在边界上就是 *
if (i == 0 || j == 0 || j == n - i - 1 )
printf("* ");
else
printf(" ");//不在边界上的点都是空格
}
printf("\n");
}
}
return 0;
}
结果见下图:
1.3 空心上三角右对齐版
//打印空心上三角———右对齐版
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
for (int i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j <= 2 * i; j++)
{
printf(" ");
}
for (j = 0; j < n - i; j++)
{//满足条件输出 * ,即在边界上就是 *
if (i == 0 || j == 0 || j == n - i - 1)
printf("* ");
else
printf(" ");//不在边界上的点都是空格
}
printf("\n");
}
}
return 0;
}
结果见下图:
总结
本文练习打印空心上三角其变形,主要练习了:
- 外循环、内循环的应用
- 注意行数、空格数、符号*数之间的数学表达式
活动地址:毕业季·进击的技术er