變量平方有如下三種常用的輸入方法:
1 直接輸入法。
這種方法是利用平方的數學定義,直接輸入兩個相同變量的乘法形式。
比如
int a = 10;
int a2;
a2 = a*a;
這裏a2的值就是a的平方。
這種方法的好處是簡單明了,而且適用於各種類型。
缺點是如果輸入高次方而不是平方,比如輸入10次方,就需要連續打10個a相乘,既不易輸入,也不容易閱讀,還容易出錯。
2 利用庫函數法。
在math.h中有壹個庫函數pow,其原型為
double pow(double a, double b);
功能是計算a的b次冪,並返回該結果。
比如這個代碼:
#include?<math.h>#include?<stdio.h>
int?main()
{
double?a?=?1.23;
printf("qrt(a)?=?%lf\n",?pow(a,2));//計算a的平方並輸出
return?0;
}
該方法好處是簡單易懂,對於高次冪計算同樣輸入簡單,易於編寫,閱讀和維護。
缺點是只適用於浮點數,如果用於整型,會在運算中做默認的類型轉換,由於精度問題,結果可能會有偏差,適用於精度要求不是太高的情況
3 使用自定義函數。
自己定義求冪函數。該方法可以用於整型求高次冪,當然也可以用於求平方。
從原理上來說,如果修改類型用於做浮點數冪運算也是可以的,不過既然有庫函數pow那就沒必要用自定義函數了。
參考函數如下
int?qrt(int?a,?int?b)//求a的b次冪並返回{
int?i,r=1;
for(i?=?0;?i?<?b;?i?++)
r?*=?a;//依次乘b次,即乘方的數學定義
return?r;
}
函數類型及返回值根據計算需要的數據規模隨時修改,可以為任意整型類型。
這樣在計算乘方時可以調用該函數,調用方法和之前介紹的pow函數類似。
該種方法的缺點為需要自己寫函數,代碼量比前兩種都要大。
以上三種方法各有優劣,根據實際需要可以自行選擇。如果只是計算平方,那麽推薦使用第壹種方法。