找到沒有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)另有說明。 –