c语言字母菱形金字塔编程,C语言打印菱形、金字塔

今天又看了下刚学C语言时的一些程序,其中有一个打印菱形的。

其目的是程序接收一个整型数字,比方说4,则打印出下面的图案:

73c9a779775a2a46567f4a72d3bbce95.png

虽然知道整体思路,但还是花了十几分钟才把代码写好。(可能是思路不明确,没有思考好流程步骤造成的)

所以总结了下:

1.实际上就是打印空白及“#”号

2.一行一行的打印

3.分成上半部分及下半部分

再者就是最重要的,每一行打印的空白及“#”号的个数是多少。

看图形后,不难发现:(以n=4为例)

第一行:从第5个开始打印"#",也就是说前面打印了4个空白

第二行:从第4个开始打印"#",也就是说前面打印了3个空白

第三行到第五行依次类推。

以上是上半部分。

从第六行:刚好与上半部分相反。

一直到第九行打印完毕。

上述过程可以定义两个变量i,j来实现对打印数量的控制。

代码如下:

#include

void main( )

{

int i, j, n;

printf( "Input\nPlease input n: \n" );

scanf( "%d", &n );

printf( "Output:\n" );

for( i = 1; i <= n + 1; i++ )

{

for( j = 1; j <= n + 1 - i; j++ )

printf( " " );

for( j = 1; j <= 2 * i - 1; j++ )

printf( "#" );

printf( "\n" );

}

for( i = n; i > 0; i-- )

{

for( j = n - i; j >= 0; j-- )

printf( " " );

for( j = 2 * i - 2; j >= 0; j-- )

printf( "#" );

printf( "\n" );

}

}

f2a2b3bda9e6adac74fd2035d329548e.png

接着逛贴吧时又看到了一个打印金字塔的帖子。

67df9598a0f6396b0a2df67f960f06bb.png

其实这种程序原理都是一样,就是利用变量控制打印空白及符号。

实现代码:

#include

void main( )

{

int i, j, n = 4;

for( i = 1; i <= n; i++ )

{

for( j = 1; j <= 2 * ( n - i ); j++ )

printf( " " );

for( j = 1; j <= 2 * i - 1; j++ )

printf( "*" );

printf( "\n" );

}

}

adac0b812113e17b31e9b24e9fb852bd.png

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值