永发信息网

C语言如何设计 判断一个数能否被3和5整除?我的代码怎么改正呢?

答案:6  悬赏:80  手机版
解决时间 2021-04-05 03:17
  • 提问者网友:饥饿走向夜
  • 2021-04-04 20:45
C语言如何设计 判断一个数能否被3和5整除?我的代码怎么改正呢?
最佳答案
  • 五星知识达人网友:独钓一江月
  • 2021-04-04 22:01
C语言中判断一个数能够被某数nn整除,可以用对nn求模运算的结果是否为0来判断,具体到这个地方,能够被3和5整除,就是同时对3和5求模,且结果全为0就可以了,代码如下:
#include
main()

{
int a;
printf("请输入一个数字:");
scanf("%d",&a);
if((a%3==0)&&(a%5==0))printf("\n能被3和5整除!");

else printf("不能被3和5整除!");

getch();
}
全部回答
  • 1楼网友:第幾種人
  • 2021-04-05 02:06
如果
  • 2楼网友:不甚了了
  • 2021-04-05 01:11
有个余数符号的。。。
(number % 3 == 0) || (number % 5 == 0)
  • 3楼网友:鸽屿
  • 2021-04-05 00:33
n是个float类型的,a,b的值也都是float的。怎么可能与0相对啊
  • 4楼网友:十鸦
  • 2021-04-05 00:02
这个是你的a和b的类型导致的。a和b为float类型,是浮点型的,浮点型的0在内存中的表示并不是正好为0的,而是一个接近0的浮点数。一般而言,浮点数和0的比较方法是浮点数-0的绝对值位于某一个范围内就可以了。其实判断能否被3和5整除,只需要%取余运算就可以啦。
if ((0 == i % 3) && (0 == i % 5))
printf("能被3和5整除!");
else
printf("不能被3和5整除!");
  • 5楼网友:詩光轨車
  • 2021-04-04 23:20
a=n/3-int(n/3);
如果输入15,这个a是不会等于0的
因为float的15,其实是15.00000001 或者 14.999999
直接除以3和强转成int型 是不相等的

其实你这个算法本身有问题,建议改算法

输入整数,用 取余的方法就ok了 系统帮你做好了很多事
int n;
scanf("%d",&n);
if(n%3 ==0 && n%5 ==0) {
//.....
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯