C语言程序学习8

努力学习C语言的牧狗(C语言经典100例)———第八题

今天的镇江又是多雨的一天,又冷又冻腿。我只能拿出

#include<stdio.h>
main()
{char a[3]={{young more say},{me more say},{me more cool}};
int i;
for(i=0;i<=2;i++)//羊毛衫,棉毛衫,棉毛裤
{printf("%s",a[i]);}
}

等镇寒神器,希望冻腿不再发生。

第八题:
题目:输出9*9口诀。
思路:对于这一题,刚拿到可能会感觉有点棘手,对于输入这个,既要换行,也要有三个变量。但如果把一个大概的蓝图做好,就会发现其实并不难。关键就是for循环的双重嵌套,让第一个因数与行数相同,第二个因数依次递增就可以了。
解:

#include<stdio.h>
main()
{
	int x, y, k;
	for(y=1;y<10;y++)
	{
		for (x = 1;x <= y;x++)
		{
			printf("%d*%d=%d", x, y, x * y);
		}
		printf("\n");
		}
	}

大概就是这样
在这里插入图片描述
那有没有别的方式来做这一题呢,或是做出的图形并不相同呢?

#include<stdio.h>
main()
{
	int x, y, i,j;
	for (i = 1;i <= 9;i++)
	{
		for (j = 1;j <= 8* i - 8;j++)
			putchar(' ');
		for(x=i;x<=9;x++)
		{
			printf("%2d*%2d=%2d", i, x, i * x);
		}
		printf("\n");
	}
}

输出的图像是这样的:
在这里插入图片描述
是一个右对齐的99乘法表,这个只是在输出n*m的时候在前面加了一个for循环,来进行输出‘ ’,(使用getchar进行输出)。从而出现倒三角的情况。

反思:一开始做这一题的第二种解法的时候,出现了行与行对不齐的情况。而且最后发现如果不这么空格,就会出现倒三角的情况。排版也确实很重要。同时如果一道题可以有多解的话,对于巩固相关知识会有很大的帮助。

后记:最近因为淫雨霏霏,行动很不方便,一直拖更了很久,确实很抱歉,之前写的《百年孤独》确实当时的心情不是很好,说了很多不该说的话,于是把它放起来了,还希望大家不要深究,谢谢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值