| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 434 人关注过本帖
标题:为什么没显示算出来的答案啊?
只看楼主 加入收藏
木下瞳
Rank: 1
等 级:新手上路
帖 子:37
专家分:6
注 册:2017-9-24
结帖率:88.89%
  已结贴   问题点数:20  回复次数:6   
为什么没显示算出来的答案啊?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main() {
    int i, base, power;
    printf("please input the base:\n");
    scanf_s("%d", &base);
    printf("please input the power:\n");
    scanf_s("%d", &power);
    for (i = 0; i < power; i++)
        printf("%d^%d is %d\n", base, power + i, pow(base, power + i));
    system("pause");
}
附件: 您没有浏览附件的权限,请 登录注册
2018-03-12 23:02
LiGoudan
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:20
专家分:148
注 册:2018-2-28
  得分:5 
printf("%d^%d is %.lf\n", base, power + i, pow((double)base, power + i));


pow返回类型是double型,所以输出类型要改为浮点型
2018-03-12 23:32
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
  得分:5 
嗯,pow输出的时候强制转换一下
2018-03-13 08:46
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
  得分:0 
嗯,pow输出的时候强制转换一下
2018-03-13 08:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:260
帖 子:5789
专家分:32992
注 册:2011-1-18
  得分:5 
这里就不应该用pow函数,而不是 强制转换 一下。
(虽然强转看起来能解决问题)

2018-03-13 10:04
will丶
Rank: 5Rank: 5
等 级:职业侠客
威 望:6
帖 子:102
专家分:384
注 册:2015-10-19
  得分:5 
第一,printf这个东西格式化输出不简单是你想的一样,有点坑人,尽量不要在里面做运算,因为它的运算顺序是反的(虽然这个程序不涉及,但是提个醒)
第二,就是类型问题,pow函数接受的是double类型的乘方运算,算法很复杂
第三,同意楼上观点,这里用pow函数实属是滥用

腾空类星陨,遥望若花生。
2018-03-13 14:42
木下瞳
Rank: 1
等 级:新手上路
帖 子:37
专家分:6
注 册:2017-9-24
  得分:0 
谢谢大家
2018-03-13 16:12







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037206 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved