| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:输入正整数,确定是否是质数,帮忙看下如何改良
只看楼主 加入收藏
q0224100404
Rank: 2
等 级:论坛游民
帖 子:25
专家分:10
注 册:2015-11-24
结帖率:37.5%
收藏
已结贴  问题点数:20 回复次数:3 
输入正整数,确定是否是质数,帮忙看下如何改良
#include<stdio.h>
#include<conio.h>
int main(void)/* 输入一个正整数,确定它不是不质数,输入1以下数字程序结束*/
{
    int a,n,m;
    n=m=2;
    printf("请输入一个正整数:");
        scanf("%d",&a);
    while(n<=a)
    {   if(a==2)
         {printf("这是一个质数\n");
        n=m=2;
        printf("请输入一个正整数:");
        scanf("%d",&a);}
    else
    {
        m=a%n;
        if(m==0)
        {    printf("这不是一个质数\n");   
            n=m=2;
        printf("请输入一个正整数:");
        scanf("%d",&a);}
        else n=n+1;
        if(n==a)
        {printf("这是一个质数\n");
        n=m=2;
        printf("请输入一个正整数:");
        scanf("%d",&a);}}
    }
    return 0;
}
2015-11-25 16:05
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
这类东东最好用函数来做

程序代码:
#include<stdio.h>

bool f(int s)
{
    int c=0;
    for(int i=1;i*i<=s;i++)
    {
        if(s%i==0) c++;
    }
    if(c==1 && s>1) return true;else return false;
}
int main()
{
    for(int i=1;i<=100;i++) if(f(i)==true) printf("%4d",i);
    return 0;
}

DO IT YOURSELF !
2015-11-25 16:15
q0224100404
Rank: 2
等 级:论坛游民
帖 子:25
专家分:10
注 册:2015-11-24
收藏
得分:0 
好多东西还没学到,你这个是列出100以内的质数吗?
2015-11-25 17:09
q0224100404
Rank: 2
等 级:论坛游民
帖 子:25
专家分:10
注 册:2015-11-24
收藏
得分:0 
#include<stdio.h>
#include<conio.h>
int main(void)/* 输入一个正整数,把0到这个数之间的质数全部列出来*/
{
    int a,n,m,i,j;
    n=m=i=2;
    j=0;                /* j用于累计质数的个数*/
    printf("请输入一个正整数:");
        scanf("%d",&a);
    while(i<=a)
    {   if(i==2)
        printf("%d\t",i),i++,j++;
    else
    {
        while(n<=i)
        {
            m=i%n;
            if(m==0)
                break;
            else
            {n++;
            if(n==i)
                printf("%d\t",i),j++;
            }
        }
            i++,n=m=2;
    }   
    }
    printf("\n0到%d之间共有%d个质数,如上!\n",a,j);
    return 0;
}
我是这样写的
2015-11-25 17:09
快速回复:输入正整数,确定是否是质数,帮忙看下如何改良
数据加载中...
 
   



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

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