C语言 判断一个数能否同时被3和5整除。

#include <stdio.h>
int main()
{
int t,n=0;
scanf("%d",&t);
if(n=3%t)
{
if(n=5%t)
printf("Yes\n");
else
printf("No\n");
}
else
printf("No\n");
return 0;
}

请告诉我哪里错了,运行后不管输入什么数字,都显示“Yes"

直接将代码复制一下运行测试即可 #include "stdio.h" #include "conio.h" main() {
int i; printf("请输入你要判断的数(输入0结束程序):\n"); while(1) { scanf("%d",&i);
if(i==0) { break; } else { if(i%3==0 && i%5==0)
printf("%d能同时被3和5整除\n",i); else printf("%d不能同时被3和5整除\n",i); } } }
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
//楼主首先把题理解错了,被三整除是这个数除以3,不是3除以这个数
#include <stdio.h>
int main()
{
int t,n=0;
scanf("%d",&t);
if(n==t%3) //这里错了,肯定是==,不是=
{
if(n==t%5)
printf("Yes\n");
else
printf("No\n");
}
else
printf("No\n");
return 0;
}本回答被网友采纳
第2个回答  2012-01-20
n=3%t
改为
n==3%t
n=5%t
改为
n==5%t
第3个回答  2017-04-28
对于任意整型变量a, 做判断a%3==0&&a%5==0即可。
解析:
1、 判断整除,可以使用C语言中的求余操作,符号为%。
m%n结果为m除以n所得余数。
根据整除规则,如果m除以n余数为0,则m可以被n整除。
于是被3整除就是a%3==0, 被5整除就是a%5==0。
2、同时被3和5整除,需要逻辑运算中的与,即&&。 表示二者同时满足才为真。
于是同时被3和5整除,写作
a%3==0&&a%5==0
3、优化。
根据数学定义,同时被3和5整除的数,必然可以被15整除,反之亦然。所以可以优化为
a%15==0
不过这个优化只能在实际编程中,如果在考试中使用这种优化,就失去了意义。因为这种题目考点为取余运算和逻辑运算。
相似回答