标题:帮我看一下,这个编译之后,比如输入一个 7 后,它出现了 4 行 7 is a prim ...
只看楼主
沧海有时
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-5-26
结帖率:0
已结贴  问题点数:20 回复次数:5 
帮我看一下,这个编译之后,比如输入一个 7 后,它出现了 4 行 7 is a prime number 是怎么回事啊
#include <stdio.h>
int main()
{
    int i,x,flag;
    flag=1;
    printf("enter a positive integer :");
    scanf("%d",&x);
    for (i=2;i<x-1;i++)
    {
        if(x%i==0)
        {
            printf("%d is not a prime number.\n",x);
        }
   
        else
        {
            printf("%d is  a prime number.\n",x);
        }
    }
    return 0;
}

帮我看一下,这个编译之后,比如输入一个7后,它出现了4行7 is a prime number 是怎么回事啊


搜索更多相关主题的帖子: positive include number 
2014-06-01 14:40
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:4 
因为进行了四个循环
for (i=2;i<x-1;i++)  //i = 2, i = 3, i = 4, i = 5都会执行循环体
    {
        if(x%i==0) //7和2,3,4,5,取余都不等于0,所以不执行下面花括号内容
        {
            printf("%d is not a prime number.\n",x);
        }
   
        else // 以下花括号内容被执行四次
        {
            printf("%d is  a prime number.\n",x);
        }
    }

人有多懒,编程就有多难。
2014-06-04 11:01
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:4 
因为你的打印在循环之内,所以有几次循环就会打印几次

我不是砖家,要努力成为砖家。
2014-06-04 13:18
xsw07122269
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:34
专家分:183
注 册:2014-6-2
得分:4 
回复 楼主 沧海有时
你的输出在循环里面,每循环一次就输出一次,你可以设立一个标志,如:
#include <stdio.h>
int main()
{
    int i,x,flag;
    flag=1;
    printf("enter a positive integer :");
    scanf("%d",&x);
    for (i=2;i<x-1;i++)
    {
        if(x%i==0)
        {
           flag=0;
           break;  //检测到不是质素后,立马结束循环  
        }
    }
    if(flag==1)
     printf("%d is not a prime number.\n",x);
    return 0;
}
2014-06-06 09:00
chrisgardner
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:73
专家分:114
注 册:2013-9-25
得分:4 
为什么会输出4行 7 is a prime number “TAAAAB”讲的很清楚了,同为新手,如果弄不清楚输出的缘由,就拿张纸老老实实的去写下循环的过程就明白了,郝斌老师称这个过程叫做“试数”
2014-06-06 13:34
gongjiangnan
Rank: 1
等 级:新手上路
帖 子:3
专家分:8
注 册:2014-6-6
得分:4 
回复 楼主 沧海有时
这类问题直接进调试,单步看下就好
2014-06-06 16:36



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




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

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