[問題] 請問哪裡出問題>"<~
原始檔:http://140.130.175.96/cal.c
執行檔:http://140.130.175.96/cal.exe
double getreward(double v)
{
double reward_v = 0.0;
double v_error = 0.0;
double u = 0.6;
double ideal_v = 5.0;
v_error = ideal_v - v;
printf("v_error= %f\n", v_error);
v_error = fabs( v_error);
printf("v_error1= %f\n", v_error);
if(v_error <= u){
reward_v = 1;//u/(v_error+0.05) *2;
}
else {
reward_v = 0 - v_error;
}
return reward_v;
}
int main(void)
{
double ran_v = 0;
double reward = 0 ;
int i = 0 ;
for(i=1; i<=5 ; i++){
ran_v = 4.1 + i * 0.3 ;
printf("ran_v= %f\n", ran_v);
reward = getreward(ran_v);
printf("reward= %f\n\n", reward);
}
system("pause");
}
我想請問的是
執行結果
ran_v = 4.4
v_error = 0.6 這個時候為什麼跑不進那個if迴圈中
但是
ran_v =5.6
v_error = 0.6 這個時候卻可以?
麻煩一下可以告訴我原因嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.175.96
推
04/14 17:22, , 1F
04/14 17:22, 1F
推
04/14 18:15, , 2F
04/14 18:15, 2F
→
04/14 18:15, , 3F
04/14 18:15, 3F
→
04/14 18:18, , 4F
04/14 18:18, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章