关于#C语言#的问题,帮我看看我哪里写错了

题目:输入一个整数,判断它能否被 3,5,7 整除,并输出以下信息:
⑴ 同时被 3,5,7 整除;
⑵ 被其中两数(指出哪两个)整除;
⑶ 被其中一个数(指出哪一个)整除;
⑷ 能被 3,5,7 任一个整除。




```#include<stdio.h>
#include<math.h>
void main()
{
    int a,b,c,d,e,f,g,h;
    printf("请输入一个整数:");
    scanf("%d",&a);
    b=a%105;
    c=a%15;
    d=a%35;
    e=a%21;
    f=a%3;
    g=a%5;
    h=a%7;
    if(b=0)
    {
        printf("同时被3,5,7整除\n");
    }
    else if(c=0)
    {
        printf("被其中两数(3,5)整除\n");
    }
    else if(d=0)
    {
        printf("被其中两数(5,7)整除\n");
    }
    else if(e=0)
    {
        printf("被其中两数(3,7)整除\n");
    }
    else if(f==0&&g==0&&h==0)
    {
        printf("能被3,5,7整除\n");
    }
}
运行结果:
若我输入105,则是   同时被3,5,7整除;
若我输入30,就显示为空白。
请问我哪里错了??

if的括号里面应该是2个等号, if(b==0)
最后一个if里面应该是|| ,if(f==0 || g==0 || h==0)
望采纳!

你if里面只有最后一个是==,其他的都是=,把他们改成==试试

你的if语句出现问题,应该都改为if( n == 0)
有用请采纳:

#include<stdio.h>
#include<math.h>
void main()
{
    int a,b,c,d,e,f,g,h;
    printf("请输入一个整数:");
    scanf("%d",&a);
    b=a%105;
    c=a%15;
    d=a%35;
    e=a%21;
    f=a%3;
    g=a%5;
    h=a%7;
    if(b==0)
    {
        printf("同时被3,5,7整除\n");
    }
    else if(c==0)
    {
        printf("被其中两数(3,5)整除\n");
    }
    else if(d==0)
    {
        printf("被其中两数(5,7)整除\n");
    }
    else if(e==0)
    {
        printf("被其中两数(3,7)整除\n");
    }
    else if(f==0&&g==0&&h==0)
    {
        printf("能被3,5,7整除\n");
    }
}

能同时被3、5、7整除:n%3==0 && n%5==0 && n%7 ==0