如何使用下面的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.");
}
}
答案 0 :(得分:6)
您return
<{1}}之前的printf
答案 1 :(得分:0)
您在printf
之后写了return;
语句这是一个简单的解决方法,只需交换这两条指令。