标题:一道求素数的问题,出问题了。。
只看楼主
fz19910125
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:52
专家分:11
注 册:2010-10-12
结帖率:84.62%
已结贴  问题点数:6 回复次数:5 
一道求素数的问题,出问题了。。
void main()
{
    int i,a;
    printf("plaese input a number:");
    scanf("%d",&i);
    for(a=2;a<i;a++)
        {
            if(i%a==0)
            printf("no");
            return 0;
        }
    printf("yes");
}

输入3 不显示YES\NO
应该如何完善该程序!!!


[ 本帖最后由 fz19910125 于 2010-10-18 19:28 编辑 ]
搜索更多相关主题的帖子: 问题 void number 
2010-10-18 19:24
功夫熊猫
Rank: 2
等 级:论坛游民
帖 子:54
专家分:30
注 册:2010-7-14
得分:2 
if(i%a==0)
            {printf("no");
            return 0;}
加个括号就可以了
2010-10-18 19:37
fz19910125
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:52
专家分:11
注 册:2010-10-12
得分:0 
为什么要加括号???
2010-10-18 20:10
lysssnisss
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2010-10-18
得分:2 
#include <stdio.h>
void main()
{
    int i,a;
    printf("plaese input a number:");
    scanf("%d",&i);
    if(i==1){printf("no\n");return 0;}
    for(a=2;a<i;a++)
        {
            if(i%a==0)
            {
            printf("no\n");
            return 0;}
        }
    printf("yes\n");
}
2010-10-18 20:42
tomywj
Rank: 2
等 级:论坛游民
帖 子:27
专家分:20
注 册:2010-7-20
得分:2 
加括号的原因是:假如你不加括号的话,在循环第一次的时候就直接运行return 0 了,这样程序就直接结束了!加上括号后逻辑上才正确,即假如i%a==0(a不是素数),则输出no,并返回!假如不是素数,即i%a!=0则继续循环,直到跳出循环并输出yes!
2010-10-18 21:43
fz19910125
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:52
专家分:11
注 册:2010-10-12
得分:0 
谢谢
2010-10-18 23:01



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




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

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