#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。
标签:判断,1.11,int,double,sqrt,素数,调用,cpp,100 From: https://www.cnblogs.com/1012enf/p/17284616.html