| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:输入两个数,求两个数之间的所有素数,弄了一夜,不知道哪里有错?
只看楼主 加入收藏
impaler
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-6-12
结帖率:40%
收藏
已结贴  问题点数:5 回复次数:4 
输入两个数,求两个数之间的所有素数,弄了一夜,不知道哪里有错?
void panding( int a,int b )
{
        int flag=0;
        int r,i,j;
        if( a>b )
        {
                r=a;
                a=b;
                b=r;
        }
        for(i=a;i<=b;i++)
        {
                for(j=2;j<i;j++)
                {
                        if(i%j==0){
                        //      printf("not sushu");
                                flag=1;
                                break;
                        }
                }
                if(flag==0){
                                printf("%d is sushu\n",i);

                }
        }
}


void shuru(int a[])
{
    scanf("%d,%d",&a[0],&a[1]);
}

void main()
{
        int shuzu[2]={0};
        int jieguo[100]={0};
        shuru(shuzu);
        printf("the number you input is:%d,%d\n",shuzu[0],shuzu[1]);
        panding(shuzu[0],shuzu[1]);

}
2014-03-10 07:20
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:2 
//输入两个数,求两个数之间的所有素数
#include <stdio.h>
void panding( int a,int b )
{
        int flag=0;
        int r,i,j;
        if( a>b )
        {
                r=a;
                a=b;
                b=r;
        }
        for(i=a;i<=b;i++)
        {
                flag=0;                //----- 必须对每个数,首先令flag=0
                for(j=2;j<i;j++)
                {
                        if(i%j==0){
                        //      printf("not sushu");
                                flag=1;
                                break;
                        }
                }
                if(flag==0){
                               // printf("%d is sushu\n",i);
                                printf("%5d",i);         //-----这样好看一点

                }
        }
}


void shuru(int a[])
{
    scanf("%d,%d",&a[0],&a[1]);
}

void main()
{
        int shuzu[2]={0};
        int jieguo[100]={0};
        shuru(shuzu);
        printf("the number you input is:%d,%d\n",shuzu[0],shuzu[1]);
        panding(shuzu[0],shuzu[1]);
        printf("\n");

}

[ 本帖最后由 ying8501 于 2014-3-10 12:14 编辑 ]
2014-03-10 07:50
xtaymt
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2014-2-13
收藏
得分:2 
break不是强制性结束循环的么?
2014-03-10 08:25
才哥
Rank: 2
等 级:论坛游民
帖 子:14
专家分:11
注 册:2014-3-3
收藏
得分:2 
回复 3楼 xtaymt
break只是退出它所属的单层循环!

[fly]你过得好不好,由你自己决定的:活该你不努力![/fly]
2014-03-10 11:00
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
楼主看明白了吗?实际上,只是循环内少了flag=0。
2014-03-10 12:13
快速回复:输入两个数,求两个数之间的所有素数,弄了一夜,不知道哪里有错?
数据加载中...
 
   



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

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