求助各位!
大家晚上好!我想问一下,用函数输出100-200的素数,为什么第一种方法可以输出,而第二种输不出?谢谢大家第一种:
#include <stdio.h>
int Isprime(int val) //判断素数
{
int i;
for (i=2; i<=val; i++) {
if (val%i == 0) {
break;
}
}
if (i == val) {
return 1;
} else {
return 0;
}
}
int main(void) //主函数输出100-200内的素数
{
int i;
for (i=100; i<=200; i++) {
if (Isprime(i)) {
printf("%d\t", i);
}
}
return 0;
}
第二种:
#include <stdio.h>
void Isprime(int n);
int main(void)
{
int n;
printf("请输入n值:");//输入n=200;
scanf("%d", &n);
Isprime(n);
return 0;
}
void Isprime(int n)//输出100-200的素数
{
int i, j;
for (i=100; i<=n; i++) {
for (j=2; j<=i; i++) {
if (i%j == 0) {
break;
}
}
if (j == i) {
printf("%d", i);
}
}
return ;
}