我应该用C为学校写一个程序,在那里我乘以4,但我无法让它工作。当我键入2时,我得到20,当我键入3时,它是84,当我输入4时它是340,以此类推,为什么?
#include <stdio.h>
int multi(int i)
{
if (i == 1) {
return 4;
}
if (i == 0) {
return 0;
}
if (i > 1) {
return (multi(i-1)*4)+4;
}
}
int main()
{
int i;
printf("type a numer for multiplication by 4n");
scanf("%d",&i);
printf("%d * 4 is %dn",i, multi(i));
}
X
乘以Y
等于X
加Y
的次数。
X * Y = X + X + X ...Y times
所以改变
return (multi(i-1)*4)+4;
至
return multi(i-1) + 4;
并且它将如预期的那样用于乘以4。
但是,如果要将X
提高到Y
的幂,则必须将X
乘以Y
的次数。
X to the power of Y = X * X * X...Y times
在这种情况下,您必须对代码进行更多的更改,我将这些更改作为练习留给您。