今日份练习(含九九乘法表)

前言:在编写代码,给出一个题目前,自己总结了一套编程方案。

  1. 第一步选哟思考题目的思路
  2. 第二部在脑海中已有思路的情况下,将其算法实现
  3. 最后是在具体编程的过程中需要的注意事项(下面简称注意事项)

1·数9的个数

今日份练习(含九九乘法表)

思路:分为两种情况。其一是个位数为9,其二是十位数为9.(可能需要考虑99这种特殊情况)

算法实现:个位数为9%10都余9;十位数为9除以10一定都商9

注意事项

  • 自己审题不清,数一共多少个9,99是两个,所以99的count需要加两次
  • 而else if只能计数一次,所以应该用两个if 相连。if 与else if 区别需辨析清楚!

今日份练习(含九九乘法表)

2·分数求和

今日份练习(含九九乘法表)

思路分成两拨,加为一组,减为另外一组,最后将其相加

另外一种思路,在此我用蓝色进行标识。

先直接计算分数和,最后再将部分加法变为减法。

算法实现:如何边加边减?------------较繁琐

我首先思考-1的n次方。凡是关于幂函数的可以跟循环扯上关系。故在for循环中,利用flag=-flag等式完美编译了-1的n次方!

注意事项

  • 因为计算分数,不能用整型进行计算,要得到小数,必须要保证除号两端有一个数是浮点数
  • 故分子的1需要变成单精度浮点型,即1.0,而sum的类型也要是double。故double sum=0.0
  • 打印时也需要改成%lf  (LF)
  • flag=-flag在for循环里有奇效!

今日份练习(含九九乘法表)

3·求最大值(求10个整数的最大值)

思路:创建一个变量max(借尸还魂),我总结了下,感觉在比较大小的问题上,总是需要创建一个恒定的变量去满足题目条件。

例如本题,要求最大值,我就向设置MAX就是最大值,然后通过比较将最大值存放进去。还有上次将三个数排序,也是向自我设置ABC,这三位就是从大到小排,经过比较后,再存放进去。

注意事项:本题最会误导的是不能自我代入,直接int max=0;而是需要“深入基层”int max=arr[0];在数组里面进行找寻。避免了数组里面全是负数,反而0成了最大值。

今日份练习(含九九乘法表)

4· 九九乘法表

思路:先想九九乘法表的基本样式

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9

…………

9*1=9  …………9*9=81

接着需要发现规律:

不难发现乘法表是以 a*b的形式进行演绎,其中a随着行数的增加而增加,b随着列数的增加而增加。

算法实现:像这种随着什么增加而增加,可以利用循环体实现。

注意事项:

  • 今日份练习(含九九乘法表)

  •  打印多个字符,不同字符用逗号隔开。
  • 今日份练习(含九九乘法表)

  • 可以直接换行。
  • 今日份练习(含九九乘法表)

  • 输出结果没有对齐,
  • 今日份练习(含九九乘法表)

  • 可以在%和d之间添上-2-------左对齐,直接添上2是右对齐。
发表评论

相关文章