| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:求助,困扰了3天的求素数。
只看楼主 加入收藏
a9580643
Rank: 2
来 自:江西九江
等 级:论坛游民
帖 子:60
专家分:59
注 册:2011-4-21
收藏
 问题点数:0 回复次数:7 
求助,困扰了3天的求素数。
程序代码:
#include "stdio.h"
int main()
{

 int a1,a2,a3,a4=0;

 printf("请输入两位数,求之间的素数:\n");

 scanf("%d%d",&a1,&a2);
for(;a1<=a2;a1++)

 for(a3=2;a3<a1;a1++)if(a1%a3==0)break;

 if(a3>=a1)

 {printf("%d",a1);

 a4++;

 if(a4%5==0)printf("\n");

 }
return 0;
}
通过编译,但是没有输出。我感觉应该是循环里的表达式出了问题。。。
2011-06-15 00:30
fragileeye
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:107
专家分:387
注 册:2011-5-21
收藏
得分:0 
lz也真是不容易。精神可贵。
不过lz书写风格不好,导致错误没法发现,注意缩进,还有就是单步调试,助于检查错误。我没有改lz代码,只把错误地方写出来了。
#include "stdio.h"
int main()
{
    int a1,a2,a3,a4=0;
    printf("请输入两位数,求之间的素数:\n");
    scanf("%d%d",&a1,&a2);
    for(;a1<=a2;a1++)
    {                        //here
        for(a3=2;a3<a1;a3++) //here
        {
            if(a1%a3==0)break;
        }
        if(a3>=a1)
        {
            printf("%-4d",a1);
            a4++;
            if(a4%5==0)printf("\n");
        }
    }
    return 0;
}
2011-06-15 00:43
a9580643
Rank: 2
来 自:江西九江
等 级:论坛游民
帖 子:60
专家分:59
注 册:2011-4-21
收藏
得分:0 
回复 2楼 fragileeye
谢了,已吸收。

花有重开日,人无在少年。
2011-06-15 01:47
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
int f(int a)
{int i;
for(i=2;i<a;i++)
if(a%i==0)
{return 0;
break;}
if(i>=a)
return 1;}
main()
{int i,a,b;
scanf("%d%d",&a,&b);
if(a>b)
{a=a+b;b=a-b;a=a-b;}
for(i=a;i<=b;i++)
if(f(i))
printf("%5d",i);getch();}
2011-06-15 10:00
Moonod
Rank: 2
来 自:河北-唐山
等 级:论坛游民
帖 子:29
专家分:42
注 册:2011-5-30
收藏
得分:0 
路过~
2011-06-15 10:02
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
#include "stdio.h"
#include"stdlib.h"
main()
{
int a1,a2,a3,a4=0;
printf("请输入两位数,求之间的素数:\n");
scanf("%d%d",&a1,&a2);
for(;a1<=a2;a1++)
for(a3=2;a3<a1;a3++)
    {if(a1%a3==0)break;
else if(a3==a1-1)
{printf("%d   ",a1);
a4++;
if(a4%5==0)printf("\n");
}
    }
system("pause");
}

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2011-06-15 10:36
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
还要判断一下a1和a2的大小自己改一下吧

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2011-06-15 10:38
bccn_2012
Rank: 6Rank: 6
等 级:侠之大者
帖 子:158
专家分:447
注 册:2011-5-14
收藏
得分:0 
程序代码:
#include "stdio.h"

 int main()

 {
    int a1,a2,a3,a4=0;
     printf("请输入两位数,求之间的素数:\n");
     scanf("%d%d",&a1,&a2);
     for(;a1<=a2;a1++)
        {
            for(a3=2;a3<a1;a3++)   //是a3++,你是a1++!!
               if(a1%a3==0)
                     break;
            if(a3>=a1)
            {
                printf("%d",a1);
                     a4++;
                if(a4%5==0)
                    printf("\n");
            }
      }

 printf("\n");

 return 0;

 }
2011-06-15 12:35
快速回复:求助,困扰了3天的求素数。
数据加载中...
 
   



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

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