C:质数分解
C: prime factoring
如何使用下面的 IsPrime 方法测试素数?我似乎无法让 printf 在我的 IsPrime 方法中工作,并且没有抛出任何错误。
#include <stdlib.h>
#include <stdio.h>
int IsPrime(unsigned int number) {
if (number <= 1) {
return 0; // zero and one are not prime
printf("zero and one are not prime.");
}
unsigned int i;
for (i=2; i*i<=number; i++) {
if (number % i == 0) {
return 0;
printf("not a prime.");
}
}
return 1;
printf("You've found a prime!");
}
int main(void) {
int a;
printf("Please input an integer value: ");
scanf("%d", &a);
if(a >= 1 && a <= 1000) {
printf("You entered: %d\n", a);
IsPrime(a);
}
else {
printf("Error! Please enter a value between 1 and 1000.");
}
}
您 return
-ing 从 printf
之前的函数
您在 return;
之后写了 printf
语句很容易解决,只需交换这两个指令即可。
如何使用下面的 IsPrime 方法测试素数?我似乎无法让 printf 在我的 IsPrime 方法中工作,并且没有抛出任何错误。
#include <stdlib.h>
#include <stdio.h>
int IsPrime(unsigned int number) {
if (number <= 1) {
return 0; // zero and one are not prime
printf("zero and one are not prime.");
}
unsigned int i;
for (i=2; i*i<=number; i++) {
if (number % i == 0) {
return 0;
printf("not a prime.");
}
}
return 1;
printf("You've found a prime!");
}
int main(void) {
int a;
printf("Please input an integer value: ");
scanf("%d", &a);
if(a >= 1 && a <= 1000) {
printf("You entered: %d\n", a);
IsPrime(a);
}
else {
printf("Error! Please enter a value between 1 and 1000.");
}
}
您 return
-ing 从 printf
您在 return;
之后写了 printf
语句很容易解决,只需交换这两个指令即可。