永发信息网

为什么答案在3以上的多一位答案就少一个1?哪里写错了?为什么pow哪里用错?

答案:2  悬赏:20  手机版
解决时间 2021-01-26 16:30
  • 提问者网友:謫仙
  • 2021-01-26 10:34
#include
#include
int main(void)
{
int a,n;
printf("Input a, n: ");
scanf("%d",&a);
scanf("%d",&n);
int h,b,c;
h=0;
b=1;
c=a;
do{
h=h+c;
c=a*pow(10,b)+c;
b++;
}while(b<=n);
printf("s=%d",h);

return 0;
}
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-01-26 11:18
pow的参数时double或者float型,你传入的int型被转换为浮点型,少1可能和机器的浮点精度有关系。最好自己实现一个pow
全部回答
  • 1楼网友:鱼忧
  • 2021-01-26 12:18
a%pow(10,i) 看函数的返回值以及函数的参数类型啊 %要求的是整形的参数,而pow必须是double的,所以不正确
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯