找到没有pow的整数m的n次幂的C程序。通过没有pow的C程序找到整数m的n次幂()
输入:
m=3 n=2
output:
9.000
测试,以验证程序按预期工作!
- 对于负中号
Input : -2 3 output : -8.000
- 对于负Ñ
- 对于负M和N
Input : 2 -3 output : 0.125000
Input : -2 -3 output : -0.125000
但是我没有得到所希望的输出
void main()
{
signed int m, n;
int i;
float p;
clrscr();
printf("Enter the number and its power (exponent)\n");
scanf("%d%d",&m,&n);
p=1;
if (n==0)
{
printf("%d raised to %d is: %f",m,n,p);
}
if (n>0)
{
for(i = 0 ; i < n ; i++)
p*=m;
if(m>0)
printf("%d raised to %d is: %f",m,n,p);
if(m<0)
printf("%d raised to %d is: %f",m,n,-p);
}
if (n<0)
{
n=-n;
for(i = 0 ; i < n ; i++)
p*=m;
if(m>0)
printf("%d raised to %d is: %f",m,-n,1/p);
if(m<0)
printf("%d raised to %d is: %f",m,-n,-(1/p));
}
getch();
}
u能亲切地提供正确的测试用例程序?
我不能声明signed float
,因为它给出了一个错误。
对于某些指定的输入,预期和实际输出是什么?你是否尝试过在调试器中的代码? –
学习如何使用调试器的时间。 –
你介意再次运行第三种情况吗?因为[this](https://ideone.com/hm0UDX)另有说明。 –