标题:不知道哪里错了,求指教
只看楼主
hsjjgm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:189
注 册:2013-4-27
结帖率:88.89%
已结贴  问题点数:20 回复次数:4 
不知道哪里错了,求指教
我这个程序哪里错了啊,输出都是几个0;(判断n以内的素数,并把他们放到数组里输出)
#include<stdio.h>

void output(int);
bool is_sushu(int);

void main()
{
    int n;
    printf("请输入要判断的数字");
    scanf("%d", &n);
    output(n);

}

bool is_sushu(int n)
{  
    for(int i=2; i < n; i++)
    {
        if(n%i==0)         
            return false;
    }
    return true;
}

void output(int n)
{
    int j = 0,count = 0;
    int a[30] ={0};

    for(int i = 2; i <= n; i++)
    {
        if(is_sushu(i))
        {
            a[j] = i;
            j++;
            count++;
        }
    }

    for(int k = 0; k < count; k++)
    {
        printf("%d\n", a[j]);
    }
}
搜索更多相关主题的帖子: void include return count 
2013-05-23 17:21
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:2 
bool is_sushu(int n)
这个函数是干嘛的?你压根就没调用

三十年河东,三十年河西,莫欺少年穷!
2013-05-23 17:48
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
得分:9 
    for(int k = 0; k < count; k++)
    {
        printf("%d\n", a[j]);   <--------------------a[k]啊!!!
    }
还有 int a[30] ={0};
30个肯定太少了!

[ 本帖最后由 YJ_Hao 于 2013-5-23 21:12 编辑 ]
2013-05-23 21:10
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
得分:9 
void output(int n)
{
    int j=0,count=0;
    int a[30] ={0};

    for(int i=2;i<=n;i++)
    {
        if(is_sushu(i))
        {
            a[j]=i;
            j++;
            count++;
        }
    }

    for(int k=0; k<count;k++)
    {
        printf("%d\n", a[k]);
    }
}
2013-05-23 21:38
hsjjgm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:189
注 册:2013-4-27
得分:0 
OK,非常感谢
2013-05-24 09:22



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




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

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