c语言-用C语言的递归输出一个99乘法表,请问怎么实现。不能用循环实现

问题描述

用C语言的递归输出一个99乘法表,请问怎么实现。不能用循环实现

用C语言的递归输出一个99乘法表,请问怎么实现。不能用循环实现,请问怎么做

解决方案

 #include <stdio.h>

void foo(int acc1, int acc2)
{
    if (acc1 > 9) return;
    printf("%d * %d = %dt", acc1, acc2, acc1 * acc2);
    if (acc2 >= acc1) { acc2 = 1; acc1++; printf("n"); } else { acc2++; }
    foo(acc1, acc2);
}

int main()
{
    foo(1, 1);
}
 1 * 1 = 1
2 * 1 = 2   2 * 2 = 4
3 * 1 = 3   3 * 2 = 6   3 * 3 = 9
4 * 1 = 4   4 * 2 = 8   4 * 3 = 12  4 * 4 = 16
5 * 1 = 5   5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25
6 * 1 = 6   6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36
7 * 1 = 7   7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49
8 * 1 = 8   8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64
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

解决方案二:

你先学习下循环是怎么实现的吧

时间: 2025-01-02 02:33:43

c语言-用C语言的递归输出一个99乘法表,请问怎么实现。不能用循环实现的相关文章

Java中的递归详解(用递归实现99乘法表来讲解)_java

1:普通实现99乘法表太简单,是个程序员都会,实现如下: package test.ms; public class Test99 { public static void main(String[] args) { for(int i=1; i<=9;i++){ for(int j=1; j<=i; j++){ System.out.print(j+" * "+i+ " = "+(i*j) +" "); } System.out.p

Python输出9*9乘法表的方法

  本文实例讲述了Python输出9*9乘法表的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 #!/usr/bin/env python # 9 * 9 for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j), 补充一个更简单的方法: 代码如下: print('n'.join([ ' '.join([ "%d*%d=%2s"

C语言的递归输出,会输出重复的打印信息,不知道是不是跟输出流缓冲有关

问题描述 C语言的递归输出,会输出重复的打印信息,不知道是不是跟输出流缓冲有关 我写的单向链表创建和遍历打印的函数输出一些信息,不知道是怎么来的,希望各位大神能给予指点. 代码: #include #include #include #include typedef struct node{ char value; struct node *m_next; }inode; void CreateNodeTree(inode **treenode) { char a; printf("input

linux c语言 使用system echo把变量输出到文件中

问题描述 linux c语言 使用system echo把变量输出到文件中 #include #include #include int main(void) { char *url = "asdfasdfasdf"; system("echo $url > /home/ylk/Desktop/1.txt"); printf(" url=%s ", url); return 0; } 结果不能把字符串写到1.txt中,怎么修改可以写进去呢?

c语言-C语言如何输出一个变量的地址

问题描述 C语言如何输出一个变量的地址 scanf("%d",&a); 假如我输入"10",那这个"10"的地址怎么求,怎么输出来呢? 解决方案 你要好好看看指针的定义和运用. 你可以定义一个整型指针 int p: 然后定义一个整型变量 int a: p的值是一个整型变量的地址 &是取地址操作符 **p = &a:* 这样,指针变量p保存的就是整型变量a的地址了 你要引用整型变量a,可以直接使用变量本身a,也可以通过指针间

c#-C#实现对c语言的在线编译并且根据输出评分

问题描述 C#实现对c语言的在线编译并且根据输出评分 大二学生狗一枚,最近在写一个c语言的考试系统.但是在编程题这里需要用到在线编译和根据输出评分.希望大神帮帮忙,最好能有代码可以让我分析一下.谢谢 解决方案 http://www.cnblogs.com/ma6174/archive/2013/05/12/3074034.html C#类似的思路,C#使用Process.Start调用命令行.

c++-C语言,输入星期首字母输出星期名,请问这小程序哪里错了,

问题描述 C语言,输入星期首字母输出星期名,请问这小程序哪里错了, 输入s或t,程序提示输入下一个字母 输入下一个字母后,程序没有显示结果就退出了 #include int main(void) { puts("enter a letter"); char ch; ch = getchar(); getchar(); switch (ch) { case 'm':puts("monday"); break; case 't':puts("enter nex

c-C语言数组大小写转化后多输出一行乱码

问题描述 C语言数组大小写转化后多输出一行乱码 #include "stdio.h" #include "stdafx.h" #include "iostream" using namespace std; int main() { char c[256], d[256]; int i = 0; while ((c[i++] = getchar()) != 'n'); c[i] = ''; i = 0; printf("%s"

printf-c语言 新人 求修改 这个表格输出为什么只能显示最后一行

问题描述 c语言 新人 求修改 这个表格输出为什么只能显示最后一行 完整代码在http://pan.baidu.com/s/1hqKoRwo 以下为表格代码 运行时只能显示一行 且为最后输入的一行 `void displayuser() //显示所有用户信息 { FILE *p; int k, n=0; system("cls"); p = fopen("card", "r"); while( !feof(p) ) { fread(&ca