CSDN话题挑战赛第1期
活动详情地址:活动地址
参赛话题:大学学习月/季度总结
话题描述:对自己大学的月/季度学习的复盘及展望
文章目录
- 前言
- 1、打印上三角
- 1.1 上三角左对齐版
- 1.2 上三角中间对齐版
- 1.3 上三角右对齐版
- 2、打印下三角
- 2.1 下三角左对齐版
- 2.2 下三角中间对齐版
- 2.3 下三角右对齐版
- 总结
上三角、下三角的概念在线性代数中经常出现,下面是百度百科的定义:
具体形式见下图:
本文仿照上述定义,练习打印上三角、下三角及其变形:
- 打印上三角
- 打印下三角
1、打印上三角 1.1 上三角左对齐版
//打印下三角——左对齐版
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j < (2*n - 1 - i* 2 ); j++)
{
printf("*");
}
printf("n");
}
return 0;
}
结果见下图:
1.2 上三角中间对齐版//打印下三角——中间对齐版
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j <= i; j++)
{
printf(" ");
}
for (j = 0; j < (2*n - 1 - i* 2 ); j++)
{
printf("*");
}
printf("n");
}
return 0;
}
结果见下图:
1.3 上三角右对齐版int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j < 2*i; j++)
{
printf(" ");
}
for (j = 0; j < (2*n - 1 - i* 2 ); j++)
{
printf("*");
}
printf("n");
}
return 0;
}
结果见下图:
2、打印下三角 2.1 下三角左对齐版打印上三角——左对齐版
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)//一共n行
{
int j = 0;
//打印*
for (j = 0; j < 2 * i + 1; j++)//每一行打印几个 *
{
printf("*");
}
printf("n");
}
return 0;
}
结果见下图:
2.2 下三角中间对齐版//打印上三角——中间对齐版
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)//一共n行
{
int j = 0;
for (j = 0; j < n - 1 - i; j++)//每一行开始打印几个空格
{
printf(" ");
}
//打印*
for (j = 0; j < 2 * i + 1; j++)//每一行打印几个 *
{
printf("*");
}
printf("n");
}
return 0;
}
结果见下图:
2.3 下三角右对齐版//打印上三角——右对齐版
int main()
{
int n = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)//一共n行
{
int j = 0;
for (j = 0; j < (2*n - 1)-(2*i+1); j++)//每一行开始打印几个空格
{
printf(" ");
}
//打印*
for (j = 0; j < 2 * i + 1; j++)//每一行打印几个 *
{
printf("*");
}
printf("n");//换行
}
return 0;
}
结果见下图:
总结
本文练习打印上三角、下三角及其变形,主要练习了:
- 外循环、内循环的应用
- 注意行数、空格数、符号*数之间的数学表达式
CSDN话题挑战赛第1期
活动详情地址:活动地址



