判断100内的素数

发布时间 2023-04-03 22:03:19作者: 向欣怡
#include<stdio.h>
#include<math.h>
int main()
{
int i=0;
for(i=1;i<=100;i++)
{
int j=0;
for(j=2;j<=sqrt(double(i));j++)
{
if(i%j==0)
{
break;
}
}
if(j>sqrt(double(i)))
{
printf("%d ",i);
}
}
return 0;
}

 

 

问题:

        在运行过程中,调用sqrt函数时发生错误,“错误 1 error C2668: “sqrt”: 对重载函数的调用不明确 d:\visual studio project\1.11.cpp\1.11.cpp\1.01.cpp 582“,原因是i的类型定义为 int但sqrt调用中i的类型可以是double,long double,float等类型,所以在用sqrt函数对i进行开方时,将i的类型转换为double。