| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 440 人关注过本帖
标题:帮忙查一下这有什么问题,谢谢(素数判断程序)
只看楼主 加入收藏
qwerdfb2418
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2015-1-3
收藏
 问题点数:0 回复次数:6 
帮忙查一下这有什么问题,谢谢(素数判断程序)
源代码:
程序代码:
#include<stdio.h>
#include<Windows.h>
int main()
{
    long int a;
    long int d;
    printf("请输入一个正整数,如果不是素数会显示,如果是素数那么会发生/错误/提示,最大八位1不是素数,请不要输入1\n");
    scanf_s("%d",&a);
    d=a+2-3;
    while(1>0)
    {
        if(a%d==0&&d!=1&&d<a)//判断
            printf("这是素数\n");
            d--;
        else
        printf("这不是素数");
    }
    system("pause");
        return (0);
}

请问有什么问题。scanf_s是因为c++的安全措施,应该是微软自己加的。
图片在此
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 qwerdfb2418 于 2015-1-3 16:25 编辑 ]
搜索更多相关主题的帖子: 源代码 
2015-01-03 15:56
qwerdfb2418
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2015-1-3
收藏
得分:0 
希望您看到可以回答,编译本来成功了,但因为程序有一点小毛病所以改,之后就这样了
源代码加注释的:
程序代码:
#include<stdio.h>
#include<Windows.h>
int main()
{
    long int a;//8位及以下
    long int d;
    printf("请输入一个正整数,如果不是素数会显示,如果是素数那么会发生/错误/提示,最大八位1不是素数,请不要输入1\n");
    scanf_s("%d",&a);//输入
    d=a+2-3;//a-1
    while(1>0)
    {
        if(a%d==0&&d!=1&&d<a)//判断
            printf("这是素数\n");
            d--;//d一直减,每次都循环,直到除开,如果没除开那就不是素数
        else//如果不是
        printf("这不是素数");
    }
    system("pause");
        return (0);
}


[ 本帖最后由 qwerdfb2418 于 2015-1-3 16:24 编辑 ]
2015-01-03 15:57
qwerdfb2418
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2015-1-3
收藏
得分:0 
...求回复,到底怎么回事
2015-01-03 16:18
qwerdfb2418
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2015-1-3
收藏
得分:0 
请求回复好吗,上百度查没有用这种方法的,还有错误提示是几个意思?如果回答,必当感谢!
2015-01-03 16:26
cheungavacat
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-1-3
收藏
得分:0 
我大一的...刚学C C++怎么会呢..
2015-01-03 16:58
momo99
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2015-1-3
收藏
得分:0 
METHOD 1:
#include<stdio.h>
#include<Windows.h>
int main()
{
    long int a;//8位及以下
    long int d;
    printf("请输入一个正整数,如果不是素数会显示,如果是素数那么会发生/错误/提示,最大八位1不是素数,请不要输入1\n");
    scanf("%d",&a);//输入
    for(d=2;d<a;d++)   
        {
        if(a%d==0)//判断
          {printf("这不是素数\n");   
           break;                    
          }
        else   
           printf("这是素数\n");break;
         }      
       system("pause");
        return (0);
}


METHOD 2:
#include<stdio.h>
#include<Windows.h>
int main()
{
    long int a;
    long int d;
    printf("请输入一个正整数,如果不是素数会显示,如果是素数那么会发生/错误/提示,最大八位1不是素数,请不要输入1\n");
    scanf("%d",&a);
    d=a+2-3;
    while(d>1)
    {
        if(a%d==0)//判断
            {printf("这不是素数\n");
            break;
            d--;}
        else
            {printf("这是素数\n");
            break;
            }
    }
    system("pause");
        return (0);
}

建议:看看教材中的用法 要不很浪费时间的。
素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。

[ 本帖最后由 momo99 于 2015-1-3 20:41 编辑 ]
2015-01-03 18:15
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
while条件为什么写的是1>0。。。。。

......................................既然琴瑟起,何以笙箫默
2015-01-03 22:03
快速回复:帮忙查一下这有什么问题,谢谢(素数判断程序)
数据加载中...
 
   



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

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