C语言实验——素数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43886377/article/details/100590652

Problem Description
输出100->200之间的素数的个数,以及所有的素数。
Input

Output
100->200之间的素数的个数,以及所有的素数。
Sample Input
Sample Output
21
101 103 … 197 199
Hint
Source
ZJGSU

#include <stdio.h>
#include <stdlib.h>
int sushu(int n)
{
    int i,f;
    f=1;
    if(n==1)return 0;
    else
    {
        for(i=2; i<n; i++)
        {
            if(n%i==0)
            {
                f=0;
                break;
            }
        }
        if(f==0)return 0;
        else return 1;
    }
}
int main()
{
    int n,i,k;
    n=0;
    k=0;
    for(i=100; i<=200; i++)
    {
        if(sushu(i)==1)
        {
            n++;
        }
    }
    printf("%d\n",n);
    for(i=100; i<=200; i++)
    {
        if(sushu(i)==1)
        {
            k++;
            if(k==1)printf("%d",i);
            else printf(" %d",i);
        }
    }
    return 0;

}

也可以不控制最后的输出是否有空格:

#include <stdio.h>
#include <stdlib.h>
int sushu(int n)
{
    int i,f;
    f=1;
    if(n==1)return 0;
    else
    {
        for(i=2; i<n; i++)
        {
            if(n%i==0)
            {
                f=0;
                break;
            }
        }
        if(f==0)return 0;
        else return 1;
    }
}
int main()
{
    int n,i;
    n=0;
    for(i=100; i<=200; i++)
    {
        if(sushu(i)==1)
        {
            n++;
        }
    }
    printf("%d\n",n);
    for(i=100; i<=200; i++)
    {
        if(sushu(i)==1)
        {
           printf("%d ",i);

        }
    }
    return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_43886377/article/details/100590652