C语言的数字金字塔问题

Python014

C语言的数字金字塔问题,第1张

给,已经编译运行通过:

#include<conio.h>

#include<stdio.h>

void main()

{

int n//这个就是定义的你需要输出的行数

int i,j

printf("please input the n: ")

scanf("%d",&n)//输入需要输出的行数

for(i=0i<ni++)

{

for(j=0j<2*(n-1-i)j++) printf(" ")

for(j=0j<=ij++) printf("%d",j+1)

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

for(j=i+1j>0j--)

{

if(i==0) break

printf("%d",j)

}

printf("\n")

}

getch()

}

给你一个运行的截图

#include

void main()

{

int i,j

for (i=1i<=3++i) // 控制金字塔的层数,本例输出3层,可以改变输出任意层

{

for (j=1j<=3-i++j) // 控制金字塔每层前面输出的空格数

printf(" ")

for (j=1j<=2*i-1++j) // 控制金字塔每层需要打印'*'的个数

printf("*")

printf("\n") // 一层金字塔输出完毕,换行继续输出下一层

}

}

#include "stdafx.h"

void makeSpacesTo( char* dest, int n )

int _tmain( int argc, _TCHAR* argv[] )

{

    char spaces[20]

    int i, j, n, s

    

    do

    {

        printf( "要输出多少行的金字塔?(不得多于 9 )" )

        scanf ( "%d", &n )

    } while( n > 9 || n < 0 )

    

    s = 0

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

    {

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

        {

            ++s

            

            if( 0 == j )

            {

                makeSpacesTo( spaces, n - i - 1 )

                printf( "%s%d", spaces, s )

            } // if

            else

            {

                makeSpacesTo( spaces, 1 )

                printf( "%s%d", spaces, s )

            } // else

        } // for j

        

        printf( "\n" )

    } // for i

    

    return 0

} // _tmain()

void makeSpacesTo( char* dest, int n )

{

    int i

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

    {

        dest[i] = ' '

    } // for

    

    dest[i] = '\0'

} // makeSpacesTo()