需要準(zhǔn)備的材料分別有:電腦、C語言編譯器。
成都創(chuàng)新互聯(lián)公司十載專注成都高端網(wǎng)站建設(shè)按需制作服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計,成都網(wǎng)站設(shè)計服務(wù);成都創(chuàng)新互聯(lián)公司服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),微信小程序,軟件開發(fā),網(wǎng)絡(luò)營銷推廣,網(wǎng)絡(luò)運營服務(wù)及企業(yè)形象設(shè)計;成都創(chuàng)新互聯(lián)公司擁有眾多專業(yè)的高端網(wǎng)站制作開發(fā)團隊,資深的高端網(wǎng)頁設(shè)計團隊及經(jīng)驗豐富的架構(gòu)師高端網(wǎng)站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡(luò)營銷方案,解決網(wǎng)絡(luò)營銷疑問。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,輸入C語言代碼:
double a = 1000, n = 10, p = 0.001;
printf("%lf", a * pow(1+p, n) - a);
3、編譯器運行test.cpp文件,此時成功列出公式并計算出了利息結(jié)果。
(int)強制轉(zhuǎn)成整型,如果是小數(shù)就只取整數(shù)部分。
可能有的編譯器會把100保存成99.999999吧,我推測,這樣只會取99,不精確。
改進辦法是改成(int)(pow(10,i)+0.01).
你把x定義成float類型試試。
10的2次方在計算機算來是99.9999999,無限接近100但小于100,你用int類型就只取整數(shù)部分了。
pow 函數(shù)是 double 型。是否你的編譯器引入了誤差。你只是處理4位數(shù),你可以自己寫 my_pow(int x):
int my_pow(int x){
int i,v=1;
if (x==0)return 1;
for (i=1;i=x;i++) v=v*10;
return v;
}
-------------
調(diào)用:
int guess,i,temp,p;
scanf("%d",guess);
for (i=3;i=0;i--){
temp=guess/my_pow(i);
p =temp*my_pow(i);
guess = guess-p;
}
不會引入誤差。