简单的 c++ 问题,如您所见,它创建了一个表并输入变量 a 和变量 t 答案,问题是我不知道如何修复if ()
. 如您所见,它有一个错误(错字)。我不知道如何识别变量 t 是否有示例:1
或者1.5
,如果数字有 1.(这里的东西,它大于数字。1)然后调用一个条件,否则调用另一个。
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;
}
}