weixin_46730562
weixin_46730562
2021-05-21 23:57
采纳率: 57.1%
浏览 118

【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

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • technologist_41
    已采纳
    #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;
    }
    

    点赞 评论
  • frank2102

    源程序如下:

    #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;
    }
    点赞 评论
  • technologist_16
    #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;
    }
    

    点赞 评论
  • technologist_16

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

    点赞 评论
  • software7503
    /* 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;
    }
    点赞 评论
  • qzjhjxj
    qzjhjxj 2021-05-22 00:09

    供参考:

    #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;
    }
    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-25 13:56

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

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

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

    点赞 评论

相关推荐