标题:求助各位!
只看楼主
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
结帖率:100%
已结贴  问题点数:20 回复次数:4 
求助各位!
大家晚上好!我想问一下,用函数输出100-200的素数,为什么第一种方法可以输出,而第二种输不出?谢谢大家
第一种:
#include <stdio.h>

int Isprime(int val) //判断素数
{
    int i;
    for (i=2; i<=val; i++) {
        if (val%i == 0) {
            break;
        }
    }
    if (i == val) {
        return 1;
    } else {
        return 0;
    }
}
int main(void) //主函数输出100-200内的素数
{
    int i;
    for (i=100; i<=200; i++) {
        if (Isprime(i)) {
            printf("%d\t", i);
        }
    }

    return 0;
}
第二种:
#include <stdio.h>

void Isprime(int n);
int main(void)
{
    int n;
    printf("请输入n值:");//输入n=200;
    scanf("%d", &n);
    Isprime(n);
    return 0;
}

void Isprime(int n)//输出100-200的素数
{
    int i, j;
   
    for (i=100; i<=n; i++) {
        for (j=2; j<=i; i++) {
            if (i%j == 0) {
                break;
            }
        }
        if (j == i) {
            printf("%d", i);
        }
    }
    return ;   
}


搜索更多相关主题的帖子: int for i++ return void 
2018-12-24 22:42
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
得分:5 
if (i%j == 0)
if (j%i == 0)
2018-12-25 11:24
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
得分:0 
回复 2楼 a646404908
谢谢回答!按着你的j%i==0,我刚试了还是输不出。

借用一下侯捷的话:勿在浮沙筑高台。
2018-12-25 18:33
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
得分:15 
把那个j的循环中的i++改成j++
2018-12-25 19:02
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
得分:0 
回复 4楼 豆豆的滴
谢谢

借用一下侯捷的话:勿在浮沙筑高台。
2018-12-25 20:12



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




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

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