努力学习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进行输出)。从而出现倒三角的情况。
反思:一开始做这一题的第二种解法的时候,出现了行与行对不齐的情况。而且最后发现如果不这么空格,就会出现倒三角的情况。排版也确实很重要。同时如果一道题可以有多解的话,对于巩固相关知识会有很大的帮助。
后记:最近因为淫雨霏霏,行动很不方便,一直拖更了很久,确实很抱歉,之前写的《百年孤独》确实当时的心情不是很好,说了很多不该说的话,于是把它放起来了,还希望大家不要深究,谢谢。