请问各位,这个代码哪里有问题,为什么一直报错

img

img


这个是代码


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main () 
{
    int one,two,three,four1,four2,five;
    four1=0;
    four2=0;
    for(one=4;one<=100;one+=2)
    {
        for(two=2;two<=one/2;two++)
        {
            for(three=2;three<one-1;three++)
            {
                if(one%three==0)
                {
                
                    four1++;
                    break;
                
                }
                //if(four==0)
                //{
                five=one-two;
                if(five%three==0)
                {
                    four2++;
                    break;
                }
                //if(four1==0||four2==0)
                //printf("%d=%d+%d",one,two,five);
                    //if(four=0)
                    //printf("%d=%d+%d",one,two,one);
                }
            }
        }
                    if(four1==0||four2==0)
                    printf("%d=%d+%d",one,two,five);
    }
return 0;
}

多了一个}
把35行的}或者40行的}删掉,删哪个看你的逻辑

return 0; 移到上一个大括号里面去。并把42行的}删除。

多写了一层大括号
修改后代码如下
有帮助望采纳~


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    int one, two, three, four1, four2, five;
    four1 = 0;
    four2 = 0;
    for (one = 4; one <= 100; one += 2)
    {
        for (two = 2; two <= one / 2; two++)
        {
            for (three = 2; three < one - 1; three++)
            {
                if (one % three == 0)
                {
                    four1++;
                    break;
                }
                //if(four==0)
                //{
                five = one - two;
                if (five % three == 0)
                {
                    four2++;
                    break;
                }
                //if(four1==0||four2==0)
                //printf("%d=%d+%d",one,two,five);
                //if(four=0)
                //printf("%d=%d+%d",one,two,one);
            }
        }
    }
    if (four1 == 0 || four2 == 0)
        printf("%d=%d+%d", one, two, five);
    return 0;
}