C语言编写程序,输入如下图形

Python014

C语言编写程序,输入如下图形,第1张

首先介绍我们要先明白这个算法的原理:

1、如果有n行,那么第一行前面就需要 n-1 个空格来进行填充(后面的空格可以不用管)。

2、每一行中的数字都是左右对称的打印的。

下面介绍两种实现方法, 希望对你能有帮助。

第一种最简单的写法,便于初学者进行理解,就是直接进行打印:

void printfA()

{

     //打印出4行

    cout << "   1\n"

    cout <<"  121\n"

    cout <<" 12321\n"

    cout <<"1234321\n"

}

第二种方法,是可以控制打印行数的:

void printfB()

{

    //输入想要打印的行数

    int iCount = 0

    cout << string("Input the iCount = ")

    cin >> iCount

    //打印金字塔型数字

    for(int i = 1 i<= iCount ++i)

    {

        //打印空格

        for(int j = 1 j<=iCount - i ++j)

        {

            cout << string(" ")

        }

        //打印数字前半部分

        for (int k = 1 k <= i ++k)

        {

            cout << k 

        }

        //打印数字后半部分

        for (int k = i-1 k >0  --k)

        {

            cout << k 

        }

        cout <<  endl  //换行

    }

}

演示效果如下:

当然, 除了以上介绍的两种方法外, 还有很多其他的方法来实现,建议有机会可以多看些编程的书籍了解下。

望采纳, 谢谢。

#include <stdio.h>

int main(){

int i,j

printf("打印图形一:\n")

for(i=0i<4i++)

{

for(j=4-ij>1j--)

printf(" ")

for(j=0j<i*2+1j++)

printf("%c",j+'A')

printf("\n")

}

printf("\n打印图形二:\n")

for(i=0i<4i++)

{

for(j=4-ij>1j--)

printf(" ")

for(j=0j<i*2+1j++)

printf("%c",i+'A')

printf("\n")

}

printf("\n打印图形三:\n")

for(i=0i<4i++)

{

for(j=4-ij>1j--)

printf(" ")

for(j=0j<i*2+1j++)

printf("%c",'D'-i)

printf("\n")

}

return 0

}