我需要使用for循环在2个输入之间找到质数,这将是获取main下一步答案的函数。
int getPrimeNumber(int num1, int num2, int n){
n=2;
for (int num1 ; num1 <= num2; num1++) {
while ((n > 1) && (n < num1)){
if (num1 % n != 0)
printf("%d", num1);
}
}
}
int main(){
int num1, num2, n;
printf("Please enter 2 positive integer a, b (must a<b)\n");
scanf("%d %d", &num1, &num2);
getPrimeNumber(num1, num2, n);
return 0;
}
数字不递增,并且num1始终为0。
答案 0 :(得分:0)
我下班回家了,这是上一次使用工作代码进行的编辑。
#include <stdio.h>
int is_n_prime(int n){
if (n < 2)
return (0);
if (n == 2)
return (1);
for (int i = 2; i < n; i++)
if (n % i == 0)
return (0);
return (1);
}
// Better function
int is_n_prime_chux(int n){
if (n < 2)
return (0);
if (n == 2)
return (1);
for (int i = 2; i <= n / i; i++)
if (n % i == 0)
return (0);
return (1);
}
int getPrimeNumber(int num1, int num2) {
while (num1 <= num2) {
if (is_n_prime(num1))
printf("%d\n", num1);
num1++;
}
return (0);
}
int main(){
int num1, num2;
printf("Please enter 2 positive integer a, b (must a<b)\n");
scanf("%d %d", &num1, &num2);
getPrimeNumber(num1, num2);
return 0;
}