我撰寫了兩個簡單的函式。我希望用戶寫一個整數值,程式從這兩個函式中找到輸出。這是代碼的樣子,
#include <stdio.h>
float f(int x) {
return ((x * (x-2)) / 2);
}
float g(int x) {
return (x * (x - 1) * (x - 2) / 3);
}
int main() {
int i;
float f0, g0;
scanf("%d", &i);
f0 = f(i);
g0 = g(i);
printf("f(%d) = %0.2f , g(%d) = %0.2f", i, f0, i, g0);
return 0;
}
我已經創建了float函式,但是當我輸入時5,該f函式應該給我7.5,但我卻有7輸出。
我該如何解決這個問題?
uj5u.com熱心網友回復:
在 return 陳述句中的這兩個運算式中
return ((x * (x-2)) / 2);
return (x * (x - 1) * (x - 2) / 3);
有使用整數算術。
更改這些陳述句,例如
return ((x * (x-2)) / 2.0f);
return (x * (x - 1) * (x - 2) / 3.0f);
要么
return (( ( float )x * (x-2)) / 2);
return (( float )x * (x - 1) * (x - 2) / 3);
uj5u.com熱心網友回復:
float f(float x){
return ((x * (x-2)) / 2);
}
float g(float x){
return (x * (x - 1) * (x - 2) / 3);
}
你好。請洗掉 int 并將浮點數放入引數中
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/438307.html
上一篇:計算點之間的總距離
