error C2296: '%' : illegal, left operand has type 'double '
#include<stdio.h>#include<math.h>voidmain(void){ longx; inti,su...
#include <stdio.h>#include <math.h>void main(void){ long x; int i,sum; scanf("%ld",&x);for(i=0,sum=0;pow(10,i)<=x;i++){sum+=x/pow(10,i)%10;}printf("sum=%d\n",sum);}error C2296: '%' : illegal, left operand has type 'double '怎么回事啊
展开
展开全部
类型转换问题,sum += int(x/pow(10,i))%10;就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
^是异或运算,它要求是整型,而sqrt是double,你可以用一个(int)强制转换一下另外,没看懂你为什么^n,是不是你以前用VB的,在C中用幂的话使用pow(x,n)函数,用math.h头文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-26
展开全部
#include<iostream> #include<math.h> using namespace std; void main() { double a,c,e; int d,b; cin>>a; cin>>b; c=pow(a,b); d=c/100000; e=b%100000;//b是浮点数的时候不能用取余操作的,取余操作是对整数的 cout<<d<<endl; cout<<e<<endl; }
~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
{ double a,c,e; int d,b; cin>>a; cin>>b; c=pow(a,b); d=c/100000; e=b%100000;//b是浮点数的时候不能用取余操作的,取余操作是对,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询