乘法口诀表
题目:在屏幕上输出9*9乘法口诀表
思路:上面是一张9*9乘法口诀表,我们可以看到是有行列的,这里我们就应该想到用for循环产生行和列,行数肯定是1~9,列数也是1~9,但是我们会发现一行中的数是逐渐增加的,第一行是一个,第二行是两个,第三行是三个,第四行是四个......那么列号在循环时就可以表示成小于行号(好好理解一下这个,有点抽象),接下来就可以写代码了。
代码演示:
要注意一个点:后面算出来的结果是两位数,如果没有限定宽度的话,那么格式不够美观,不会对齐,并且我们还要弄成左对齐,如果是右对齐,和上面那个表也不是很符合。当然我们也可以用制表符来弄(这里我就不演示给大家看了)。还有就是那个 j 和 i 的位置 ,如果调换的话,就会打印成下面这样子。
就不符合我们想要的9*9乘法口诀表了。
二分查找-函数实现
题目:
写一个二分查找函数
功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回-1.
思路:写这个题目之前,我们得先知道什么是二分查找。就举个例子吧:1~10的数(这十个数是按照顺序来排列的),要找一个数是否在这10个数里头,我们有很多种方法,其中最简单的就是,找一个中间数5(这10个数里头的)和你要找的那个数比较,若大于5,则往后找;反之,则往前找。继续找的时候还是用这样的方法。(找一个中间数来要找的数比较)这个就是二分查找的思想。那么这个函数也就比较容易写出来了。
代码演示:
实际上,只要最上面那个就可以了,这就是题目要的函数,下面这个 main 函数,我只是为了验证这个二分查找函数的正确性。
辗转相除法求最大公约数
首先介绍一下公约数(其实我自己也不是很了解,不过,我们可以在浏览器上面搜
)说实话,我看不太懂,但是应该是要表达这个意思(举个例子):假设有两个数:a,b,有一个c数能够整除它们,那么这个c就是公约数。
接下来,就开始介绍这个辗转相除法。
下面,我们就可以直接写代码了。
代码演示: