请问这句c++提示是什么意思?
[Error]invalidoperandsoftypes'float'and'float'tobinary'operator%'源代码是#include<iostrea...
[Error] invalid operands of types 'float' and 'float' to binary 'operator%'
源代码是#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int h,i,j,k,l,m,n;
float a,b,c,d,e,f,g;
cin>>a>>b>>c>>d>>e>>f>>g;
h=a/b;
if(a%b>0)
h=h++;
i=a/d;
if(a%d>0)
i=i++;
j=a/f;
if(a%f>0)
j=j++;
k=h*c;
l=i*e;
m=j*g;
if(k<l)
{
if(k<m)
n=k;
else
n=m;
}
else
{
if(l<m)
n=l;
else l>m;
n=m;
}
cout<<n;
return 0;
} 展开
源代码是#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int h,i,j,k,l,m,n;
float a,b,c,d,e,f,g;
cin>>a>>b>>c>>d>>e>>f>>g;
h=a/b;
if(a%b>0)
h=h++;
i=a/d;
if(a%d>0)
i=i++;
j=a/f;
if(a%f>0)
j=j++;
k=h*c;
l=i*e;
m=j*g;
if(k<l)
{
if(k<m)
n=k;
else
n=m;
}
else
{
if(l<m)
n=l;
else l>m;
n=m;
}
cout<<n;
return 0;
} 展开
3个回答
2019-11-17
展开全部
1. 错误提示告诉你,% 的所有两边,一个是整形(int),一个是浮点型(float),类型不匹配报错,所以你把应该把 z 这个变量定义成整形。
2. 虽然c语言可以将多个变量一起定义,但是还是分开声明看着比较舒服,也容易找错。
3. 不要去记忆运算符的优先顺序,应为没有意义。比如你写的函数里面的第二行,计算num的这一行,我要看你元算顺序都累的很。用()来表示运算级别高的就可以了。
4. 如果计算结果是整形,那么输出时候的占位符为 '%d',如果为浮点型,那么输出结果为 '%f'.c 语言这种强类型的语言,一定要注意变量的类型是否符合你的定义,不然一定会出错。
2. 虽然c语言可以将多个变量一起定义,但是还是分开声明看着比较舒服,也容易找错。
3. 不要去记忆运算符的优先顺序,应为没有意义。比如你写的函数里面的第二行,计算num的这一行,我要看你元算顺序都累的很。用()来表示运算级别高的就可以了。
4. 如果计算结果是整形,那么输出时候的占位符为 '%d',如果为浮点型,那么输出结果为 '%f'.c 语言这种强类型的语言,一定要注意变量的类型是否符合你的定义,不然一定会出错。
展开全部
这句话的意思是float类型不可以使用%运算符。
请把 float 改为 int
请把 float 改为 int
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无效操作数错误。就这问题而言,求余运算(%)的两个操作数不能为浮点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询