圣斗士星矢双子座加隆:c语言程序查错

来源:百度文库 编辑:高考问答 时间:2024/05/07 16:21:58
#include"stdio.h"
int fact(int n)
main(){
int a,b,c,i,j,k;
i=6
while(i<=100){
for(j=3;j<i/2;j++){
if(fact(j)){
a=j;
b=i-j;}
if(fact(b)) printf("%d=%d+%d",i,a,b);}
}
}
int fact(int n){
int l;
for(l=2;i<n/2;l++){
if(n%l=0) break;}
if(l=n/2) return(1);
else return(0);
}
验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5,…,18=7+11。要求将6~100之间的偶数都表示成两个素数之和
运行了说是语法错误

#include<stdio.h>
int fact(int n);
void main()
{
int a=0,b=0,i=6;
while(i<=100)
{
for(int j=3;j<=i/2;j++)
{
if(fact(j))
{
a=j;
b=i-j;
}
if(fact(b))
{
printf("%d=%d+%d\t",i,a,b);
}
}
i+=2;
}
}
int fact(int n)
{
for(int i=2;i<=n/2;i++)
{
if(n%i==0)
break;
}
if(i==n/2+1)
return 1;
else
return 0;
}
已经测试过是正确的

#include"stdio.h"
int fact(int n)
{
int l;
for(l=2;l<=n/2;l++){
if(n%l==0) return(0);}
if(l==n/2+1) return(1);
}

main()
{
int a,b,c,i,j,k;
i=6;
while(i<=100)
{
if(i%2==0)
{
for(j=2;j<=i/2;j++)
{
if(fact(j))
{
a=j;
b=i-j;
}
if(fact(b))
{
printf("%d=%d+%d\n",i,a,b);
break;
}
}
a=b=0;

getch();
}
i++;
}
getch();
}
看看这样是不是好些

自己运行一下不就知道错在哪了吗