簡單的C++問題,所以你可以看到它創建一個表並輸入變量a和變量t答案,問題是我不知道如何修復if()
。你可以看到它有一個錯誤(錯字)。我不知道如何識別變量t是否有例子:1
或1.5
,如果數字有1(這裏的東西和它比數字大,)然後調用一個條件,否則調用其他條件。C++提取十進制解決方案錯誤
int a,b = 18;
double t;
for (a = 0; a <= b; a++)
{
t = 8 + (double)(18 - a)/2;
if (t >= *.1)
cout << setw(9) << a << setw(20) << fixed << setprecision(1) << t << endl;
else
cout << setw(9) << a << setw(20) << t << endl;
}
嘗試:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
int a,b = 18;
double t;
for (a = 0; a <= b; a++)
{
t = 8 + (double)(18 - a)/2;
if (modf(t, NULL) >= 0.1)
cout << setw(9) << a << setw(20) << fixed << setprecision(1) << t << endl;
else
cout << setw(9) << a << setw(20) << t << endl;
}
}
定格在我自己的方式,還是感謝 'Angew' 他是第一個發佈MODF():
#include <iostream>
#include <iomanip>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
int a,b = 18;
double t,z;
int k;
for (a = 1; a <= b; a++)
{
t = 8 + (double)(18 - a)/2;
if (modf(t, &z) >= 0.5)
cout << setw(9) << a << setw(20) << fixed << setprecision(1) << t << endl;
else
k = t;
cout << setw(9) << a << setw(20) << k << endl;
}
}
嗯,但codeblock顯示錯誤,沒有聲明nullptr?也許我錯過了一些圖書館? – karolis 2013-05-08 14:21:10
@karolis我已經擴展了答案。 – Angew 2013-05-08 14:27:47
現在它顯示modf沒有在這個範圍內聲明,對不起,我想我使用的是真正的老C++。對不起,也許沒有更新我的代碼塊等麻煩,還有另一種方式? – karolis 2013-05-08 14:31:41