C++ 如果偶数浮点数(分数)是模2,则它不会给出';0';结果呢!在C++; #包括 #包括 使用名称空间std; int main() { 双x; cin>>x; cout

C++ 如果偶数浮点数(分数)是模2,则它不会给出';0';结果呢!在C++; #包括 #包括 使用名称空间std; int main() { 双x; cin>>x; cout,c++,C++,只有整数可以是偶数或奇数,像2.4这样的实数既不是奇数也不是偶数。如果要测试浮点数的整数部分是偶数还是奇数,可以将其转换为整数类型(将截断小数部分)并使用% #include <iostream> #include <cmath> using namespace std; int main() { double x; cin>> x; cout<< fm

只有整数可以是偶数或奇数,像2.4这样的实数既不是奇数也不是偶数。如果要测试浮点数的整数部分是偶数还是奇数,可以将其转换为整数类型(将截断小数部分)并使用
%

 #include <iostream>
 #include <cmath>
 using namespace std;
 int main()
        {
            double x;
            cin>> x;
            cout<< fmod(x,2.00);
         }
#包括
#包括
使用名称空间std;
int main()
{
双x;
cin>>x;//您应该检查cin是否良好!

难道我不明白你为什么认为它应该是0。这正是它应该做的。当x=2.4时,x/2.0的余数是0.4。也许你想要下限(x/2.0)?或者你想要(int)x%2?奇偶校验(偶数对奇数)只适用于整数,而不是分数部分的数字。这是正常的。请参阅
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double x;
    cin >> x; // you should check that cin is good!
    cout << (static_cast<int>(x) % 2) << endl;
}