给,已经编译运行通过:
#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()
}
给你一个运行的截图
#includevoid 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()