English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

#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

2 個解答


方法一:
將 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

fedest.com, questions and answers