| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2364 人关注过本帖
标题:判断一个数是素数吗?代码没错但有逻辑错误,求解
只看楼主 加入收藏
月亮小乔
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-11-1
结帖率:100%
收藏
已结贴  问题点数:12 回复次数:7 
判断一个数是素数吗?代码没错但有逻辑错误,求解
#include<stdio.h>
void main()
{
    int a, i;
    scanf("%d", &a);
    if (a%i == 0)
    {
        if (i < a) i = i + 1;
        printf("a=%d\n是素数");
    }
    else
        printf("a=%d\n不是素数");
        system("pause");
        return 0;
}

新手菜鸟,运行4,得出a=19700702不是素数。这是为什么呢?Run-Time Check Failure #3 - The variable 'i' is being used without being initialized.还有一个这个中断提醒。。。求解谢谢
搜索更多相关主题的帖子: 判断 一个数 素数 逻辑 错误 
2017-11-06 22:22
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:2 
    int a, i;
    scanf("%d", &a);
    if (a%i == 0) 这时 i 是多少?
2017-11-07 04:42
蓝色风暴cl
Rank: 8Rank: 8
来 自:新疆
等 级:蝙蝠侠
威 望:3
帖 子:163
专家分:704
注 册:2015-9-6
收藏
得分:2 
我咋觉得这个逻辑也是有问题的呢?

欢迎大家加好友哦,多找我聊聊吧!
2017-11-07 10:28
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:2 
回复 3楼 蓝色风暴cl
逻辑不通
2017-11-07 10:30
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:2 
哪有逻辑!完全不在鼓上敲。

能编个毛线衣吗?
2017-11-07 10:38
月亮小乔
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-11-1
收藏
得分:0 
#include<stdio.h>
void main()
{
    int a, i;
    i = 2;
    printf("\n请输入一个正整数");
    scanf("%d", &a);
    if (a < 1)
        printf("输入错误!\n");
    else
    {
        if (a%i == 0)
        {
            if (i < a) i = i + 1;
            printf("a=%d是素数\n",a);
        }
        else
            printf("a=%d不是素数\n,a");
    }
        system("pause");
        return 0;
}
这样呢,
2017-11-07 11:20
牧城雪
Rank: 1
等 级:新手上路
帖 子:33
专家分:9
注 册:2017-11-6
收藏
得分:2 
回复 6楼 月亮小乔
首先你要明白素数的性质,用循环语句处理更好。
2017-11-07 23:25
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用月亮小乔在2017-11-7 11:20:07的发言:

#include<stdio.h>
void main()
{
    int a, i;
    i = 2;
    printf("\n请输入一个正整数");
    scanf("%d", &a);
    if (a < 1)
        printf("输入错误!\n");
    else
    {
        if (a%i == 0)
        {
            if (i < a) i = i + 1;
            printf("a=%d是素数\n",a);
        }
        else
            printf("a=%d不是素数\n,a");
    }
        system("pause");
        return 0;
}
这样呢,

不是求素数,好象是求奇数?
2017-11-08 04:46
快速回复:判断一个数是素数吗?代码没错但有逻辑错误,求解
数据加载中...
 
   



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

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