C++题目'%' : illegal, right operand has type 'double'不知道怎么改

#include"iostream.h"#include"math.h"intdigit(intn,intk){intt=n%pow(10,k)/pow(10,k-1);... #include"iostream.h"
#include"math.h"
int digit(int n,int k)
{
int t=n%pow(10,k)/pow(10,k-1);
return t;
}
int main()
{
int n,k;
cin>>n>>k;
digit(n,k);
return 0;
}
展开
 我来答
veket_linux
推荐于2018-09-04 · TA获得超过4092个赞
知道大有可为答主
回答量:3809
采纳率:0%
帮助的人:4487万
展开全部
pow函数的返回值类型是double 浮点型

% 取余数 运算符 两边都必须是 整形

修改一下
n%(int)(pow(10,k))/pow(10,k-1);

(int)( pow(10,k) ) 强制转换成int 型
2000XYS2000
2015-11-14 · 超过10用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:16.7万
展开全部
%是求余运算,右侧值必须为整数(int),而你的程序中是双精度型,所以编译出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Honey_ToBeNo_1
2015-11-23 · TA获得超过499个赞
知道小有建树答主
回答量:269
采纳率:75%
帮助的人:144万
展开全部
能稍微贴点代码吗?
从你的这个错误来看,是你的数据类型不对,“%” 不能对double类型操作~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyjie999
2015-12-01 · TA获得超过199个赞
知道小有建树答主
回答量:197
采纳率:100%
帮助的人:181万
展开全部
double 不可以进行%运算。把double改成int就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式