用C语言输出各种三角形

用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;
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>