for循环打印乘法表:

  1. #include <stdio.h>
  2. // for循环打印乘法表
  3. int main(int argc, const char * argv[]) {
  4. //矩形
  5. for (int i = ; i <= ; i++) {
  6. for (int j = ; j <= ; j++) {
  7. printf("%i * %i = %i\t", j, i, i * j);
  8. }
  9. printf("\n");
  10. }
  11. printf("\n");
  12.  
  13. //尖尖朝上
  14. for(int i = ; i <= ; i++){
  15. for (int j =; j <= i; j++) {
  16. printf("%i * %i = %i\t", j, i, i * j);
  17. }
  18. printf("\n");
  19. }
  20. printf("\n");
  21.  
  22. //尖尖朝下
  23. for (int i = ; i <= ; i++) {
  24. for (int j = i; j <= ; j++) {
  25. printf("%i * %i = %i\t", i, j, i * j);
  26. }
  27. printf("\n");
  28. }
  29. return ;
  30. }
  31. /*
  32. 输出结果:
  33. 1 * 1 = 1 2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5 6 * 1 = 6 7 * 1 = 7 8 * 1 = 8 9 * 1 = 9
  34. 1 * 2 = 2 2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10 6 * 2 = 12 7 * 2 = 14 8 * 2 = 16 9 * 2 = 18
  35. 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15 6 * 3 = 18 7 * 3 = 21 8 * 3 = 24 9 * 3 = 27
  36. 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20 6 * 4 = 24 7 * 4 = 28 8 * 4 = 32 9 * 4 = 36
  37. 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 6 * 5 = 30 7 * 5 = 35 8 * 5 = 40 9 * 5 = 45
  38. 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 7 * 6 = 42 8 * 6 = 48 9 * 6 = 54
  39. 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 8 * 7 = 56 9 * 7 = 63
  40. 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = 72
  41. 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
  42.  
  43. 1 * 1 = 1
  44. 1 * 2 = 2 2 * 2 = 4
  45. 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
  46. 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
  47. 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
  48. 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
  49. 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
  50. 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
  51. 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
  52.  
  53. 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9
  54. 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18
  55. 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27
  56. 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36
  57. 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45
  58. 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54
  59. 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63
  60. 8 * 8 = 64 8 * 9 = 72
  61. 9 * 9 = 81
  62. */

递归替换for循环:

  1. #include <stdio.h>
  2.  
  3. void printfMultiple(int);
  4. void printfMultiple1(int);
  5. void printfMultiple2(int);
  6. void replaceFor(int,int);
  7.  
  8. int main(int argc, const char * argv[]) {
  9. /*
  10. int i
  11. i 从 1 加到 9
  12. 输出 i * 1 ~ 9 的结果
  13. i == 0时退出
  14. */
  15. int num1 = ;
  16. printfMultiple(num1);
  17. printf("\n");
  18.  
  19. int num2 = ;
  20. printfMultiple1(num2);
  21. printf("\n");
  22.  
  23. int num3 = ;
  24. printfMultiple2(num3);
  25.  
  26. return ;
  27. }
  28.  
  29. //输出结果: 尖尖朝下
  30. void printfMultiple(int i){
  31. if( == i){
  32. return;
  33. }
  34. else{
  35. //输出 i * 1 到 i * 9 的结果
  36. for (int j = ; j <= i ; j++) {
  37. printf("%i * %i = %i\t", i, j, i * j);
  38. }
  39. printf("\n");
  40. // i 控制 行数 i-- 表示进行下一行的输出
  41. i--;
  42. printfMultiple(i);
  43. }
  44. }
  45.  
  46. // 如果 i 从 1 开始 i = 10 结束 就尖尖朝上了
  47. void printfMultiple1(int i){
  48. if ( == i) {
  49. return;
  50. }
  51. else{
  52. for (int j = ; j <= i; j++) {
  53. printf("%i * %i = %i\t", j, i, i * j);
  54. }
  55. printf("\n");
  56. i++;
  57. printfMultiple1(i);
  58. }
  59. }
  60.  
  61. /*用递归替换方法体里的for循环
  62. 接收参数 i j
  63. 退出条件 j == i + 1
  64. */
  65. void printfMultiple2(int i){
  66. if ( == i) {
  67. return;
  68. }
  69. else{
  70. replaceFor(i, );
  71. printf("\n");
  72. i++;
  73. printfMultiple2(i);
  74. }
  75. }
  76.  
  77. //用这个方法替换到原来for循环的位置
  78. void replaceFor(int num1, int num2){
  79. if (num2 == num1 + ) {
  80. return;
  81. }
  82. else{
  83. printf("%i * %i = %i\t", num2, num1, num1 * num2);
  84. num2++;
  85. replaceFor(num1, num2);
  86. }
  87. }
  88. /*
  89. 输出结果:
  90. 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
  91. 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
  92. 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
  93. 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
  94. 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
  95. 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
  96. 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
  97. 2 * 1 = 2 2 * 2 = 4
  98. 1 * 1 = 1
  99.  
  100. 1 * 1 = 1
  101. 1 * 2 = 2 2 * 2 = 4
  102. 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
  103. 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
  104. 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
  105. 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
  106. 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
  107. 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
  108. 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
  109.  
  110. 1 * 1 = 1
  111. 1 * 2 = 2 2 * 2 = 4
  112. 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
  113. 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
  114. 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
  115. 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
  116. 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
  117. 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
  118. 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
  119. */

C语言基础--循环 递归打印乘法表的更多相关文章

  1. For循环输出九九乘法表

    题:使用For循环输出九九乘法表 解析: 1*1=1 1*2=2  2*2=4 1*3=3  2*3=6  3*3=9 .... 1*9=9  ........ .....9*9=81 可以看做j*i ...

  2. 一行python打印乘法表

    一行代码打印乘法表 >>> print '\n'.join([' '.join(['%s*%s=%-2s' %(y,x,x*y) for y in range(1,x+1)]) fo ...

  3. for循环实现九九乘法表

    <!--for循环实现九九乘法表--> <table border="> <tbody> {% for x in range(1,10) %} <t ...

  4. 使用 JavaScript 用循环嵌套输出乘法表。外循环控制行数,内循环控制当前行要输出的乘法表达式,在页面上输出九九乘法表

    查看本章节 查看作业目录 需求说明: 在页面上输出九九乘法表,实现效果如图所示 实现思路: 创建HTML页面 在页面中嵌入 <script type="text/javascript& ...

  5. 递归与非递归打印乘法口诀表--Scala(指令式、函数式思维练习)

    object Test extends App { def printMultiTable() { var i = 1 while (i < 10) { var j = 1 while (j & ...

  6. for循环简单实例(打印乘法表,打印菱形)

    关于for循环的简单应用: 回顾了一下for循环的嵌套: for循环嵌套简单来讲就是一个外圈的for程序里面一个套着一个小的for程序,如果在范围内就来回运行计算,超出了就跳出等待 下面程序为打印九九 ...

  7. C#-进制转换、基础语句、语句的总结与练习——★for循环:九九乘法表、三角形、菱形★

    //for循环嵌套练习——打一个九九乘法表 ; i <= ; i++) { ; j <= i; j++) { Console.Write(j + "×" + i + & ...

  8. javascript基础之打印乘法表

    废话不多说,直接上代码!! 代码如下: for(var i =1; i<=9;i++){ for(var j =1; j<=i;j++){ document.write(i+"* ...

  9. day4(分支结构,循环结构,for循环,九九乘法表)

    一:复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量, ...

随机推荐

  1. Java连接Redis (key-value存储系统)

    Redis简介: redis是一个性能非常优秀的内存数据库,通过key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表). ...

  2. C语言回顾-常量和变量

    1.C语言共32个关键字 1)数据类型关键字 a.基本数据类型 void char int float double b.类型修饰关键字 short long signed unsigned c.复杂 ...

  3. 自定义view

    这两篇文章不可错过,是最靠谱的基础文献.总的来说,如果想完全定制,就继承与于View类:如果只是在原有控件基础上拓展,那就继承TextView.Button或者LinearLayout等.接下来,就以 ...

  4. Python之ftplib模块

    一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho ...

  5. easyui DataGrid 工具类之 列属性class

    public class ColumnVO { /**     * 列标题文本     */    private String title; /**     * 列字段名称     */    pr ...

  6. latex 异或

    用\lxor \(\lxor\) 用\veebar \(\veebar\) 用\oplus \(\oplus\) ... 怎么不是我想象的那样... 算了.

  7. 学DIV+CSS技术,如何入门?(2)

    http://www.zhangbin.in/a/jishuziliao/CSSjishu/2014/0730/13267_2.html

  8. .Net最佳实践3:使用性能计数器收集性能数据

    本文值得阅读吗? 本文讨论我们如何使用性能计数器从应用程序收集数据.我们将先了解的基本知识,然后我们将看到一个简单的示例,我们将从中收集一些性能数据. 介绍: - 我的应用程序的性能是最好的,像火箭 ...

  9. C# Reportviewer 固定表头

    RDLC报表固定每页都显示表头以XML方式打开rdlc文件查找到<TablixRowHierarchy> <TablixMembers> <TablixMember> ...

  10. 在代码中调用gdb

    转载:http://blog.csdn.net/hanchaoman/article/details/5583457 在SIGSEGV的handler中调用gdb, 命令gdb [exec file] ...