需要验证[6,50]之间的偶数,输出格式如下: 40等于3+37 40=11加29 40等于17+23(换行)。
但是!它的输出判定很奇怪,我给几个例子吧:
1、若”printf("6等于3加3"\n8等于3加5\n(后面省略));,这样子在第二行(即”8=3+5就判错)
2、若“printf("6等于3加3");printf("\n8等于3加5");(后面类推),同样在第二行也会报错。
(过多重复等号和加号会被屏蔽我服了)
究竟怎么输出才能正确呢?
#include <stdio.h>
#include <math.h>
int number;
int Firstnum;
int Secondnum;
int main()
{
int x,y;
int Temp;
printf("Please input Number\n");
scanf("%d",&number);
for(x=2;x<number/2;x++)
{
Firstnum =x;
Temp =sqrt(Firstnum)+1;
for(y=2;y<Temp;y++)
{
if(Firstnum % y == 0 )
{
Firstnum = 0;
break;
}
}
Secondnum=number-x;
Temp=sqrt(Secondnum)+1;
for(y=2;y<Temp;y++)
{
if(Secondnum % y == 0)
{
Secondnum = 0;
break;
}
}
if(Firstnum&&Secondnum)
printf("%d = %d + %d\r\n",number,Firstnum,Secondnum);
}
return 0;
}
还是贴代码吧,看你举例子并没有什么问题。