题目:输入一个整数,判断它能否被 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