2024最全用C语言输出各种三角形(含完整代码)
1.直角在左下角的三角形
代码:
#include<stdio.h>
int main()
{
int i,j,n;
printf("请输入一个数字\n");//输入三角形的行数
scanf("%d",&n);
for(i=1;i<=n;i++)//外循环,控制三角形行数
{
for(j=1;j<=i;j++)//内循环,控制三角形列数
printf("*");
printf("\n");
}
return 0;
}
2.直角在左上角的三角形
代码:
#include<stdio.h>
int main()
{
int i,j,n;
printf("请输入一个数字\n");//输入三角形的行数
scanf("%d",&n);
for(i=1;i<=n;i++)//外循环,控制三角形行数
{
for(j=n-i+1;j>=1;j--)
//j=n-i+1是因为j这个变量必须跟i有相关性(j的范围得靠i来锁定)
//而i从1加到n,我们打印的*应逐行减少,应从n到1所以j=n-i+1
printf("*");
printf("\n");
}
return 0;
}
3.直角在右下角的三角形
代码:
其实要变化的是第二个for循环,要先打印出空格
#include<stdio.h>
int main()
{
int i,j,n;
printf("请输入一个数字\n");//输入三角形的行数
scanf("%d",&n);
for(i=1;i<=n;i++)//大for循环
{
//第一个小for循环,控制空格个数从n-1个到0个空格
for(j=n-i;j>=1;j--)
printf(" ");
//第二个小for循环,控制*个数,从1到那个n个因为j要由i控制,所以就j<=i
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
return 0;
}
4.直角在右上角的三角形
代码:
#include<stdio.h>
int main()
{
int i,j,n;
printf("请输入一个数字\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
//打印空格,空格从0到i-1个 ,j=1而不是j=0,因为j=0会打印出一个空格
for(j=1;j<=i-1;j++)
printf(" ");
//打印* ,随着i增大,*应该减少 ,且由i控制,所以j=n-i+1
for(j=n-i+1;j>=1;j--)
printf("*");
printf("\n");
}
return 0;
}
5.正三角形(金字塔)
每行*数=行数×2-1
#include<stdio.h>
int main()
{
int i,j,n;
printf("请输入一个数字\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
//空格数从n-1到0
for(j=n-i;j>=1;j--)
printf(" ");
//每行*数=行数×2-1,从i开始到行数-1
for(j=1;j<=i*2-1;j++)
printf("*");
printf("\n");
}
return 0;
}
倒三角形
#include <stdio.h>
int main() {
int n;
printf("请输入等边三角形的行数:");
scanf("%d", &n);
for (int i = n; i >= 1; i--) {
// 打印空格,用于控制每行的缩进
for (int j = 0; j < n - i; j++) {
printf(" ");
}
// 打印"*",用于构建三角形
for (int j = 0; j < 2 * i - 1; j++) {
printf("*");
}
// 换行
printf("\n");
}
return 0;
}