【发布时间】:2016-06-25 04:35:32
【问题描述】:
编译时将错误无效操作数类型double ' and int '给二进制`operator %'
int x, y, z;
float R;
cout <<"Ejercicio N 2"<<endl;
cout <<"De la expresion: R=(x^3*8MOD2DIVY/(3+x^2))/(8-z/7-y*11MOD2) suministrar el valor de tipo entero X,Y,Z"<<endl;
cout <<"Ingrese el valor de X: "; cin>> x;
cout <<"Ingrese el valor de Y: "; cin>> y;
cout <<"Ingrese el valor de Z: "; cin>> z;
R=(pow(x,3)*8%2/y/(3+pow(x,2)))/(8-z/7-y*11%2);
cout <<"La respuesta es: "<<R<<endl<<endl<<endl;
【问题讨论】:
-
pow(x,3)是一个浮点值。您不能在结果中使用基于整数的%。只需执行x * x * x。或者更好的是,将其简化为 0,因为x * x * x * 8将始终是偶数,模 2 始终为 0。 -
在计算 R 时很难看出你在做什么,也许你可以把它分解一下。我的猜测是你可能搞砸了运算符优先级。
标签: c++