| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 327 人关注过本帖
标题:对这个问题有点不解,程序是做出来了,运行也对,但是为什么输出5位和5位以 ...
只看楼主 加入收藏
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
结帖率:97.22%
收藏
已结贴  问题点数:15 回复次数:3 
对这个问题有点不解,程序是做出来了,运行也对,但是为什么输出5位和5位以上的数字就运行不了了呢?
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int main(void)
{
    unsigned long *p=NULL;
    unsigned long trial=0;
    bool found=false;
    size_t total=0;
    size_t count=0;
    size_t i=0;

    printf(" How many primes would you like - you'll get at least 4? ");
    scanf("%u",&total);
    total=total<4U ? 4U:total;

    p=(unsigned long *)malloc(total*sizeof(unsigned long));
    if(p==NULL)
    {
        printf("\n This is a error.\n");
        return 1;
    }

    *p=2UL;
    *(p+1)=3UL;
    *(p+2)=5UL;

    count=3U;
    trial=5U;

    while(count<total)
    {
        trial+=2UL;

        for(i=0;i<count;i++)
            if(!(found=(trial%*(p+i))))
                break;
        if(found)
            *(p+count++)=trial;
    }
    for(i=0;i<count;i++)
    {
        if(!(i%5U))
            printf("\n");
        printf("%12lu",*(p+i));
    }
    printf("\n");
    return 0;
}

顺便说一下,这是一个显示质数的程序。
搜索更多相关主题的帖子: return include long total 
2012-10-26 22:16
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
准确点说,是在用程序的时候输入5位或5位以上的数字时程序无法运行

I have not failed completely
2012-10-26 22:19
obstratiker
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:198
专家分:758
注 册:2011-5-5
收藏
得分:15 
应该不是运行不了吧
是数字太大了,运行时间太长
我输入50000,是可以输出的
2012-10-26 22:56
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
我等了一分来钟,确实能显示出来了,谢谢。

I have not failed completely
2012-10-27 13:39
快速回复:对这个问题有点不解,程序是做出来了,运行也对,但是为什么输出5位和 ...
数据加载中...
 
   



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

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