标题:判断质数出错求助
只看楼主
apologz
Rank: 2
等 级:论坛游民
帖 子:56
专家分:24
注 册:2013-2-4
结帖率:66.67%
已结贴  问题点数:5 回复次数:28 
判断质数出错求助
想求输入的那个数是不是质数,所以写了一下程序,运行一看,无论输入8还是5显示都是非质数!怎么回事?程序如下
#include <stdio.h>
   
void main(){
int c,i;
double a;
scanf("%d",&i);
if(i<=1)printf("%d不是质数   no!\n",i); getch();
for(c=1;c<i;c=c+1)
   {
     a=i/c;
      if((int)a==!a){ printf("%d为质数   yes!\n",i); getch();  }
      else {printf("%d为非质数   no!\n",i);getch();}
    }
}
搜索更多相关主题的帖子: void include double 
2013-02-07 21:12
空沃夫
Rank: 2
来 自:老和山职业技术学院
等 级:论坛游民
帖 子:48
专家分:76
注 册:2012-12-7
得分:0 
首先你那个if语句中除了问题,比如说你输入i等于5,进入循环,a等于5,然后a肯定不等于!a(0),然后就输出了非质数。所以你这个判断语句就有问题
2013-02-07 21:27
ren613
Rank: 3Rank: 3
来 自:宣武
等 级:论坛游侠
帖 子:117
专家分:120
注 册:2012-11-20
得分:0 
看晕了啥(int)a==!a
给点注释,告诉我们你是怎么想的

天道酬勤
2013-02-07 22:08
apologz
Rank: 2
等 级:论坛游民
帖 子:56
专家分:24
注 册:2013-2-4
得分:0 
回复 3楼 ren613
我以为"==!"是不等于的意思。原来是"!="。不过为什么通过编译?

难觅知音、同一个编程梦,我们共同进步。
2013-02-07 22:16
apologz
Rank: 2
等 级:论坛游民
帖 子:56
专家分:24
注 册:2013-2-4
得分:0 
回复 3楼 ren613
我以为"==!"是不等于的意思。原来是"!="。不过为什么通过编译?

难觅知音、同一个编程梦,我们共同进步。
2013-02-07 22:16
apologz
Rank: 2
等 级:论坛游民
帖 子:56
专家分:24
注 册:2013-2-4
得分:0 
回复 2楼 空沃夫
能说详细点么,什么"!a(0)"  ?

难觅知音、同一个编程梦,我们共同进步。
2013-02-07 22:21
空沃夫
Rank: 2
来 自:老和山职业技术学院
等 级:论坛游民
帖 子:48
专家分:76
注 册:2012-12-7
得分:0 
回复 6楼 apologz
我那个!a(0),是指!a的值是0,当a不为0时。
2013-02-08 15:00
apologz
Rank: 2
等 级:论坛游民
帖 子:56
专家分:24
注 册:2013-2-4
得分:0 
回复 7楼 空沃夫
来个正确的判断输入的数是否为质数的程序吧,用来参考。

难觅知音、同一个编程梦,我们共同进步。
2013-02-08 19:08
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
得分:0 
我看还是给你说说怎么判断吧(方法不一定好)
第一步。不是2的偶数或小于二的数一定不是,输出并退出
第二步。能过来的必定是大于2的奇数,用从3开始的奇数直到小于这个数一半的奇数挨个除,一旦能整除,就不是,输出并退出。
第三步。能过来肯定就是喽
2013-02-08 19:20
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
得分:5 
五分实在不值得写代码。。。。。
不为五斗米折腰。。。。。。。
2013-02-08 19:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398435-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.133910 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved