C中的素数:运行时错误 #包括 intisprime(intn){ int ndiv=0; int i; 对于(i=1;i
这里是一个如何使用C中的素数:运行时错误 #包括 intisprime(intn){ int ndiv=0; int i; 对于(i=1;i,c,function,loops,primes,C,Function,Loops,Primes,这里是一个如何使用printf的小示例。您可以找到更多格式说明符 #包括 int main() { INTA=97; int b=98; char hello[6]=“世界”; printf(“%d\n”,a); printf(“%d\n”,b); printf(“%s\n”,您好); 返回0; } 这是因为您打印变量的方法错误。以下是正确的方法 #include <stdio.h> int main() { int a = 97; int b = 98;
printf
的小示例。您可以找到更多格式说明符
#包括
int main()
{
INTA=97;
int b=98;
char hello[6]=“世界”;
printf(“%d\n”,a);
printf(“%d\n”,b);
printf(“%s\n”,您好);
返回0;
}
这是因为您打印变量的方法错误。以下是正确的方法
#include <stdio.h>
int main()
{
int a = 97;
int b = 98;
char hello[6] = "world";
printf("%d\n", a);
printf("%d\n", b);
printf("%s\n", hello);
return 0;
}
中的printf
代表“格式”。您需要为打印提供格式字符串:f
printf(“%d\n”,a)
- 您的
效率低下:您不需要尝试一直除以数字本身。一旦达到数字的平方根,您就可以停止isPrime
- 此外,一旦你看到这个数字不是素数,你可以提前退出循环
一旦您修复了这些错误,您的程序将开始运行并产生预期的输出。我不是C/C++专家,但请尝试
int main(){
int a = isPrime(7);
printf("%d",a);
}
%d是一个格式占位符,本质上是一个整数
这看起来像是一个有趣的iPrime函数。效率不是很高,但与我在过去看到的不同。你也可以循环1到n之间的所有数字,如果你找到任何除数n,只返回false(或0)。或者查找更有效的算法。
printf(a)
-这不是您如何使用的printf
它是否总是应该是“%d”和“%a?”当有疑问时,请阅读文档。如果您首先检查n%2==0,则效率更高。如果不是,则循环for(i=3;i
int main(){
int a = isPrime(7);
printf("%d",a);
}
printf("%d", a);