【C语言】编写函数判断一个数是否为素数。

任务描述

本关任务:编写函数判断一个数是否为素数,在主函数中调用该函数输出100以内的全部素数,每行输出5个数。

测试说明

平台会对你编写的代码进行测试:

预期输出: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

 

#include<stdio.h>

int isprime(int n) {
    int i;
    for(i=2;i<n;i++){
        if (n%i==0)
            return 0;
    }
    return 1;
}
void main() {
    int i,j,x=0;
    for(int i=2;i<=100;i++){
        if (isprime(i)){
            x++;
           	printf("%d ", i);
            if(x%5==0)
                printf("\n");
        }
    }
    return 0;
}

#include<stdio.h>

int fun(int n) {
    for(int i=2;i<n;i++)
    {
        if (n%i==0)
            return 0;
    }
    return 1;
}
void main() {
    int t = 0;
    for(int i=2;i<=100;i++)
    {
        if (fun(i)) {
           	printf("%d", i);
            printf(++t % 5 == 0?"\n":" ");
        }
    }
    return 0;
}

源程序如下:

#include<stdio.h>
#include<math.h>
int fun(int n){
    int i,r,m;
    i=2;m=sqrt(n) ;
    while(i<=m)
    {
        r=n%i;
        if(r==0)
        return 0;
        i=i+1;
    }
    if(i>m)
    return 1;
}
int main()
{
    int n,j=0;
	int count=0;
    for(n=2;n<=100;n--)
    {
        if(fun(n)){
            printf("%d\t",n);
            j++;
            count++;
        }
        if (count % 5 == 0) 
            printf("\n");/*控制显示个数*/
    }
    return 0;
}

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢。
 

/* Note:Your choice is C IDE */
#include "stdio.h"
int fun();
void main()
{
    /*
    任务描述

	本关任务:编写函数判断一个数是否为素数,在主函数中调用该函数输出100以内的全部素数,每行输出5个数。
	
	测试说明
	
	平台会对你编写的代码进行测试:
	
	预期输出: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
    */
    
	int cnt=0;
	int i;
	for(i=2;i<=100;i++){
    	if(fun(i)){
    		cnt++;
    		printf("%d\t",i);
    		if(cnt % 5 == 0)
    			printf("\n");	
    	}
	}
    
}
int fun(int i){
	int j;
	int flag=1;
	for(j=2;j<i;j++){
		if(i % j == 0){
			flag = 0;
			break;	
		}
	}
	return flag;
}

 

供参考:

#include <stdio.h>
int isprime( int n);
int main()
{
    int i,j=0;
    for( i=2; i<100; i++ ) {
        if( isprime(i)){
            printf("%2d%c", i,++j%5==0?'\n':' ');
        }
    }
    
    return 0;
}

int isprime(int n)
{
    int i;
    if(n<=3) return n>1;
    for(i=2;i*i<=n;i++)
        if(n%i==0) return 0;
    return 1;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632