打印四种重要类型的正三角形(c语言)

简介: 打印四种重要类型的正三角形(c语言)

第一种类


#include<stdio.h
int main()
{
    int n, k;
    int i;
    scanf("%d", &n);
//i是代表行数
    for (i = 1; i <= n; i++)
    {
//k代表空格数,因为刚开始的数在居中位置,所以输出的空格应该是输入的数n-行数i
        for (k = 1; k <=n-i; k++)
        {
            printf(" ");
        }
//j代表输出相同数的个数,很显然j是以2i-1往下递增的,并且每打一行,j++,直到j大于2*i-1,跳出循环
        for (int j=0;j<2*i-1;j++)
        {
//最后输出的结果为(i-1)%10是因为最大的数是9,当输入的n大于9时,取n对10的余数
            printf("%d", (i-1)%10);
        }
        printf("\n");
        }
    return 0;
}


第二种类


1669387054045.jpg

#include<stdio.h>
int main()
{
    int i, a, b, c;
    scanf("%d", &a);
//b代表输出的行数;
    for (b = 1; b <= a; b++)
    {
//i代表每行输出的空格数
        for (i = 1; i <= a - b; i++)printf(" ");
//c代表每行输出的个数,(b-1)代表首项的数,(((b - 1) % 10) + c - 1) % 10);代表的是输出最大的数,且在最大的数两旁依次递减
        for (c = 1; c <= 2 * b - 1; c++) printf("%d", (((b - 1) % 10) + c - 1) % 10);
        printf("\n");
    }
    return 0;
}


第三种类


1669387081720.jpg


需特别注意当输入的值大于26时,输出需返回值为A,而且输出是字符串类型的

int main()
{
    int n;
    int b, c, i, d;
    scanf("%d", &n);
    d = 'A';
    for (b = 1; b <= n; b++)
    {
        for (i = 1; i <= n - b; i++)
        {
            printf(" ");
        }

输出的值,因为是字符串类型的,所以要%c,且d是代表字符串'A',所以要把d放外面(( b - 1)%26))则是因为当输入的n大于26时,输出要重新为A

for (c = 0; c < 2 * b - 1; c++)
        {
            printf("%c", d+(( b - 1)%26));
        }
        printf("\n");
    }
    return 0;
}


第四种类


1669387131023.jpg

#include<stdio.h>
int main()
{
    int n ;
    int b, c, i, d, e;
    scanf("%d", &n);
    d = 'A';
    for (b = 1; b <=n; b++)
    {
        for (i = 1; i <= n - b; i++)
        {
            printf(" ");
        }
        for (c = 0; c < b; c++)
        {
            printf("%c", d + c);
        }
        if (b > 1)
        {
//当行数大于一时,字符A加e的值
            for (e = b - 2; e >= 0; e--)
                printf("%c", d + e);
        }
        printf("\n");
    }
    return 0;
}

写出和总结出这些真的很不容易,希望大家以后多多支持我这个编程小白哦,希望在以后的创作中再给大家带来惊喜!

相关文章
|
1月前
|
存储 编译器 C语言
C语言:数组名作为类型、作为地址、对数组名取地址的区别
在C语言中,数组名可以作为类型、地址和取地址使用。数组名本身代表数组的首地址,作为地址时可以直接使用;作为类型时,用于声明指针或函数参数;取地址时,使用取地址符 (&),得到的是整个数组的地址,类型为指向该类型的指针。
|
1月前
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
|
2月前
|
存储 缓存 程序员
c语言的存储类型-存储类
本文详细介绍了C语言中的存储类型及其分类,包括基本类型(如整型、浮点型)和复合类型(如数组、结构体)。重点讲解了不同存储类别(`auto`、`static`、`register`、`extern`、`typedef`、`volatile`、`const`)的特点及应用场景,并展示了C11/C99引入的新关键字(如`_Alignas`、`_Atomic`等)。通过示例代码解释了每个存储类别的具体用法,帮助读者更好地理解和运用这些概念。
|
3月前
|
存储 自然语言处理 编译器
C语言中的char类型
C语言中的char类型
240 1
|
3月前
|
算法 编译器 API
C语言中的longdouble类型
C语言中的longdouble类型
|
5月前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
58 2
|
5月前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
49 0
|
5月前
|
存储 C语言
C语言中的typedef关键字:为类型定义新名称
C语言中的typedef关键字:为类型定义新名称
|
5月前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
34 0
|
6月前
|
存储 C语言
C语言变量的作用域和存储类型深度解析
C语言变量的作用域和存储类型深度解析
88 0