吴勇治妻子:c语言问题?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 18:15:40
1.0
printf("Input x=");
scanf("%d",&x);
if(x>2&&x%2==0)
{
for(a=2;a<=x/2;a++)
{
for(n=2;n<a-1;n++)
if(a%n==0)break;
if(a==n)
{
b=x-a;
for(n=2;n<=b-1;b++)
if(b%n==0)break;
if(b==n)
{
printf("%d=%d+%d\t",x,a,b);
break;
}
}
}
}
else
printf("Input x%2==0&&x>2");
}

2.0
#include<stdio.h>
main()
{
int x,a,b,n;
printf("Input x= ");
scanf("%d",&x);
if(x>2&&x%2==0)
{
for(a=2;a<=x/2;a++)
{
for(n=2;n<=a-1;n++)
if(a%n==0)break;
if(a==n)
{
b=x-a;
for(n=2;n<=b-1;n++)
if(b%n==0)break;
if(b==n)
{
printf("%d=%d+%d\t",x,a,b);
break;
}
}
}
}
else
printf("Input x%2==0&&x>2");
}

我看1.0与2.0是相同的,但为什么一个可以执行,一个不可以执行呢!~~~

仔细看,第一个程序中有好几个错误。
1、for(n=2;n<a-1;n++) ,应该是for(n=2;n<=a-1;n++)
2、for(n=2;n<=b-1;b++) ,应该是for(n=2;n<=b-1;n++)