c语言 输入一个整数n,输出2~n之间的素数个数,包括2和n。

题目描述
素数是指除1和它自身外,不能被任何数整除的数。输入一个整数n,输出2~n之间的素数个数,包括2和n。
输入
一个整数n,2<n<10000。
输出
2到n之间素数的个数。
样例输入
5
样例输出
3


#include<stdio.h
using namespace std;

/*如果num为素数,则返回1 */
int isNum(int num){
    
    if(num==2)
        return 1;
        
    for(int index =2; index< num; index++)
        if(num%index==0)
            return 0;
    return 1;
}

int main(){
    
    int n;
    int index, total = 0;
    
    do{
        scanf("%d",&n);
    } while(n<1 || n>=10000);
    
    for(int num =1; num < n; num++)
        if(isNum(num)==1)
            total ++;
    printf("%d",total);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-04
#include "stdio.h"
int main()
{
int n, i, a, flag, j=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
flag=0;
for(a=2;a<i;a++)
if(i%a==0)
{
flag=1;
break;
}
if(flag)
continue;
j++;
}
printf("%d\n",j);
}