| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 18746 人关注过本帖
标题:求助:请教平方根函数"sqrt"的用法
只看楼主 加入收藏
mk_zhou
Rank: 2
来 自:历代兵家必争之地
等 级:论坛游民
威 望:1
帖 子:78
专家分:83
注 册:2015-6-30
结帖率:84.62%
收藏
已结贴  问题点数:5 回复次数:5 
求助:请教平方根函数"sqrt"的用法
程序中有需要用到sqrt,使用过程中出现了一个问题,需要哥哥姐姐们指教下;
问题如下,求n的平方根时写成:k=sqrt(n);一直提示:sqrt对重载函数的调用不明确;
然后修改程序:k=sqrt((double)n); 后程序就可以正常编译运行了;   
是不是因为n的类型一开始被我定义为int型,而求平方根必须进行重新定义n为float或double型才能求n的平方根,不能用int型。
附代码:
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{
    int i,n,k;
    printf("请输入一个整数:");
    scanf("%d",&n);
    k=sqrt(n);                  
    for (i = 2; i <=k; i++)
    {
        if (n%i==0)break;
    }
    if (i<=k)printf("%d不是素数\n",n);
    else printf("%d是素数\n",n);
    return 0;
}


[此贴子已经被作者于2016-4-4 19:19编辑过]

搜索更多相关主题的帖子: 哥哥 平方根 double 
2016-04-04 19:16
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:3 
http://blog.
上面这个链接博主提到的情况和你的一致。或许你能从他的言论中找到解决你疑惑的观点吧。

我本人使用Dev C++时,同样的代码并没有错误和警告。故此,我猜,大概是编译器的规则设定的区别吧。。

φ(゜▽゜*)♪
2016-04-04 19:33
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:2 
我的Code::Blocks运行没有问题。

   唯实惟新 至诚致志
2016-04-04 19:41
mk_zhou
Rank: 2
来 自:历代兵家必争之地
等 级:论坛游民
威 望:1
帖 子:78
专家分:83
注 册:2015-6-30
收藏
得分:0 
回复 2楼 书生牛犊
谢谢,我用的编译器是vs2012,应该就是这个问题了。

仰望星空,看看有没有馅饼落下
2016-04-04 19:47
mk_zhou
Rank: 2
来 自:历代兵家必争之地
等 级:论坛游民
威 望:1
帖 子:78
专家分:83
注 册:2015-6-30
收藏
得分:0 
回复 3楼 qq1023569223
谢谢,已明白

仰望星空,看看有没有馅饼落下
2016-04-04 19:47
小白大虾
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-4-2
收藏
得分:0 
你这个判断素数的程序没有问题啊。k=sqrt(n);就是为了求n开根之后的整数型数值啊。(相互学习 ,相互学习)
2016-04-04 20:09
快速回复:求助:请教平方根函数"sqrt"的用法
数据加载中...
 
   



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

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