#include
#include
int main(){
int i;
double r[3]={0},hi=0,region=0,x[3]={0},y[3]={0};
for(i=0;i<3;i++){
printf("x%d=",i+1);
scanf("%f",&x[i]);
printf("y%d=",i+1);
scanf("%f",&y[i]);
}
r[1]=pow(x[0]-x[1],2);
printf("%f",r[1]);
為何怎麼印都是0
2007-01-04 20:10:00 · 2 個解答 · 發問者 Xue 1 in 電腦與網際網路 ➔ 程式設計
銜接上面~~~
r[0]=pow((x[0]-x[1]),2) pow((y[0]-y[1]),2);
for(i=0;i<3;i ){
hi=sqrt(r[i]) hi;
}
hi=hi/2;
for(i=0;i<3;i ){
region=(hi-sqrt(r[i]))*region;
}
printf("%f",region*hi);
這是完整的更改後的 那為什麼最後的還是印不出來
2007-01-05 05:00:18 · update #1
方法一:
將 double 變數改宣告為 float
函式 pow 改為 (float)pow
方法二:
將所有的 %f 修改為 %lf
lf 就是 long float
2007-01-06 18:21:12 補充:
printf("%f",region*hi);
方法一:
region 必須宣告為 float 變數
方法二:
region 必須宣告為 double 變數
%f 改為 %lf ( long float )
請你仔細看過回答,再提出問題!
2007-01-04 20:30:13 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋
和 printf() 不太一樣
scanf() 如果要輸入的是 double
要用 scanf("%lf",&x[i]);
2007-01-04 20:24:24 · answer #2 · answered by 鳳琳 5 · 0⤊ 0⤋