免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1488 | 回复: 4
打印 上一主题 下一主题

C程序有问题嗨~麻烦帮忙看段代码。。谢谢哈~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-28 15:23 |只看该作者 |倒序浏览
/* 输出指定数字个数的质数       出现的问题是:我输入25后,显示的是Divide error呀?*/

#include "stdio.h"
#include "stdlib.h"

typedef unsigned char bool;

#define true 1
#define false 0

main()
{
    unsigned long *primes =NULL;
    unsigned long trial = 0;
    bool found = false;
    size_t total = 0;
    size_t count =0;
    size_t i;
   
    printf("how many primes world you like - you'll get at least 4? ");
    scanf("%u",&total);
    total = total < 4U?4U : total;
    primes = (unsigned long *) malloc(total*sizeof(unsigned long));
    if(primes == NULL)
    {
     printf("\nnot enough memory. Hasta la vista,baby.\n");
     return 1;
    }
    count = 3U;//这里为什么要将count设置为3U呀
    trial = 5U;//为什么设置为5U
    while(count<total)
    {
     trial += 2UL;
     for(i = 0;i< count;i++)
      if(!(found = (trial % *(primes + i))))//*(primes + i)是什么意思呀?
       break;
     if(found)
     *(primes + count++) = trial;//这句也不明白什么意思。。:em16:
    }
    for( i = 0;i<total;i++)
    {
     if(!(i%5U))
      printf("\n");
     printf("%12lu",*(primes + i));
    }
    printf("\n");
    return 0;
}




[ 本帖最后由 langue 于 2009-5-28 16:32 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-05-28 15:25 |只看该作者
这个:wink: 图像是他自动生成上去的。。不知道怎么回事。。。

论坛徽章:
0
3 [报告]
发表于 2009-05-28 16:17 |只看该作者
你发帖的时候代码用插件加上吧,不会出现编码问题还有高亮

论坛徽章:
0
4 [报告]
发表于 2009-05-28 16:21 |只看该作者
不会出现那个错误吧,我本地运行你的程序很正常的,下面是结果:
how many primes world you like - you'll get at least 4? 25

  3452816845  3452816845  3452816845           7           9
          11          13          15          17          19
          23          25          29          31          37
          41          43          47          53          59
          61          67          71          73          79

论坛徽章:
0
5 [报告]
发表于 2009-05-28 16:35 |只看该作者
已经格式化。请在发帖前选中“禁用 Smilies”和“禁用 Discuz! 代码”,或者使用扩展编辑器中的代码格式化功能。比较简单的做法是用 [code][/code] 将代码包起来,注意是方括号,不是 HTML 标记里用的尖括号。

谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP