C语言例题100道

程序【10】

题目:打印楼梯,同时在楼梯上方打印两个笑脸。

程序分析:用 ASCII 1 来输出笑脸;用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

当我们看到这个题目的时候,就非常的迷惑,楼梯,笑脸,这啥东西!,这时候我们要怎么联想呢。

首先,笑脸是个图案,你要想打印出笑脸这个图案,就不得不想到我们的Ascll表,并且在里面找到笑脸这个图案对应的Ascll值----1

知道了,笑脸这个图案的Ascll值,我们也就知道了怎么打印出这个笑脸。就是用Ascll值的形式,

printf("\1\1\n");	

 然后,我们再考虑楼梯的事,楼梯怎么办,我们都知道我们大多的运行台都是黑色的背景,所以,楼梯不就是和乘法口诀表的格式一样,一节一节的,想到这,我们就可以用白框去代替楼梯,

然后运用和乘法口诀表算法思想打印出楼梯。

要想知道乘法口诀表思想,可以认真阅读这篇博客:

---尘泪bit的博客--9*9乘法口诀表算法

当然,我们既然用到了Ascll值来打印图案,我们就必须考虑到代码页的问题,如果考虑不周,则会出现中文乱码,图案乱码等等情况,让我们非常头疼!!

------我笑脸呢,可恶!!! 

所以,我们必须了解代码页是什么还有出现乱码时候的解决方法,在这里,这篇博客对其进行了较为详细的讲解,希望能解决读者们的问题:

---尘泪bit的博客--输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

最后,我们解决完以上的问题,我们就可以,一点一点的自己敲出代码,话不多上,上代码!!!

#include <stdio.h>
//打印楼梯,同时在楼梯上方打印两个笑脸。
int main()
{
	int i = 0;
	int j = 0;
	printf("\1\1\n");		/*输出两个笑脸 数字1 */
	/*详细解释:printf("\1"); 的作用是打印出ASCII码为1的字符。
	查询ASCII码表中,十进制的1对应的ASCII意思是soh,即start of head,标题开头的意思。
	该符号为通信专用字符,如果只是用作显示,系统会使用一个特定的图形来显示,这就是我们看到的笑脸。*/

	for (i = 0; i < 10; i++)
	{
		for (j = 0; j <= i; j++)
		{
			printf("%c%c", 161, 246);		/*输出一个中文字符*/
		}
		printf("\n");
	}
	return 0;
}

 解决完所有的问题,自己敲出的代码,是非常具有成就感的!

然后不得不说,这笑脸图案真感人!!

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值