首页 > 解决方案 > 使用递归函数,找到一个使用加法运算符计算两个数字相乘的程序

问题描述

使用递归函数,找到一个使用加法运算符计算两个数字相乘的程序。

我发现如下:

/*C program to multiply two numbers using plus operator.*/

#include <stdio.h>

int main()
{
    int a,b;
    int mul,loop;

    printf("Enter first number: ");
    scanf("%d",&a);
    printf("Enter second number: ");
    scanf("%d",&b);

    mul=0;

    for(loop=1;loop<=b;loop++){
        mul += a;
    }

    printf("Multiplication of %d and %d is: %d\n",a,b,mul);

    return 0;
}

但是我不确定它是否使用递归函数,有人可以检查一下,如果它确实使用递归函数,那么告诉我如何做到这一点?

标签: cfunction

解决方案


这个简单的逻辑应该适合你:

int multiply(int a, int b)
{
    if(a < b)
        return multiply(b, a); // swap
    else if(b != 0)
        return (a + multiply(a, b - 1)); // recursion
    else
        return 0;
}

推荐阅读