为啥没输出呢?
#include<stdio.h>void fun(int n)
{
int i,j,k=0,l=0,h;
for(i=3;i<(n/2);i+=2)
{
for(j=2;j<i;i++)
{
if(i%j==0)
{
k=1;
break;
}
k=0;
}
h=n-i;
for(j=2;j<h;j++)
{
if(h%j==0)
{
l=1;
break;
}
l=0;
}
if(k==0&&l==0) printf("%d %d",i,h);
else continue;
}
}
int main()
{
int n;
scanf("%d",&n);
fun(n);
return 0;
}
这题需要把一个6以上的偶数分成两个素数。
求大佬支援 你的print语句是放在了if后面,那么没有输出,可以反推if语句并没有被执行到 #include <stdio.h>
#include<stdio.h>
void fun(int n)
{
int i, j, k = 0, l = 0, h;
for (i = 3;i<(n / 2);i += 2)
{
for (j = 2;j<i;j++) // 错误在此,是 j++ ,不是 i++
{
if (i%j == 0)
{
k = 1;
break;
}
k = 0;
}
h = n - i;
for (j = 2;j<h;j++)
{
if (h%j == 0)
{
l = 1;
break;
}
l = 0;
}
if (k == 0 && l == 0)
printf("%d %d", i, h);
else continue;
}
}
int main()
{
int n;
scanf_s("%d", &n);
fun(n);
return 0;
}
页:
[1]