C语言程序设计(第三版)何钦铭著 习题5-4

C语言程序设计(第三版)何钦铭著 习题5-4

习题一览表
1. C语言程序设计(第三版)何钦铭著 习题2-1
2.C语言程序设计(第三版)何钦铭著 习题2-2
3.C语言程序设计(第三版)何钦铭著 习题2-3
4.C语言程序设计(第三版)何钦铭著 习题2-4
5.C语言程序设计(第三版)何钦铭著 习题2-5
6.C语言程序设计(第三版)何钦铭著 习题2-6
7.C语言程序设计(第三版)何钦铭著 习题3-1
8.C语言程序设计(第三版)何钦铭著 习题3-2
9.C语言程序设计(第三版)何钦铭著 习题3-3
10.C语言程序设计(第三版)何钦铭著 习题3-4
11.C语言程序设计(第三版)何钦铭著 习题3-5
12.C语言程序设计(第三版)何钦铭著 习题4-1
13.C语言程序设计(第三版)何钦铭著 习题4-2
14.C语言程序设计(第三版)何钦铭著 习题4-3
15.C语言程序设计(第三版)何钦铭著 习题4-4
16.C语言程序设计(第三版)何钦铭著 习题4-5
17.C语言程序设计(第三版)何钦铭著 习题4-6
18.C语言程序设计(第三版)何钦铭著 习题4-7
19.C语言程序设计(第三版)何钦铭著 习题4-8
20.C语言程序设计(第三版)何钦铭著 习题4-9
21.C语言程序设计(第三版)何钦铭著 习题4-10
22.C语言程序设计(第三版)何钦铭著 习题4-11
23.C语言程序设计(第三版)何钦铭著 习题5-1
24.C语言程序设计(第三版)何钦铭著 习题5-2
25.C语言程序设计(第三版)何钦铭著 习题5-3


题目

利用函数计算素数个数并求和∶
输入两个正整数 m 和n(1≤m,n≤500),
统计并输出m 和n之间的素数的个数以及这些素数的和。
要求定义并调用函数 prime (m)判断 m 是否为素数。试编写相应程序。


分析过程

输入

条件:输入两个正整数 m 和n(1≤m,n≤500)

输出

条件:输出m 和n之间的素数的个数以及这些素数的和。要求定义并调用函数 prime (m)判断 m 是否为素数

分析

判断素数的方法:
一个数字如果从2开始至他的一半都没有找到能被整除的数,则说明次数为素数。
但是有特例。如负数,0,1,2需要单独判断
(若还有疑问,建议百度一下)

代码

#include <stdio.h>
#include <math.h>
int prime(int m);/*函数声明*/

int main () {
    
    
	/*定义变量*/
	int m, n;                                                                   /*定义变量,存储输入两个正整数 m 和n*/
	int count = 0;                                                              /*定义变量,m-n之间素数数量*/
	int sum=0;                                                                  /*定义变量,m-n之间的素数和*/
	/*赋值*/
	printf("请输入两个正整数 m 和n:\n");                                       	/*输入提示*/
	scanf("%d %d \n", &m, &n);                                                  /*输入并赋给变量*/
	
    /*计算*/
    for(int i = m; i<n; i++){
    
    
        if(prime(i) == 1){
    
    
            printf("%d为素数\n", i);                                            /*输出素数*/
            count++;
            sum += i;
        }
    }
	printf("%d-%d之间的素数数量为%d,素数和为%d \n", m, n, count, sum);          	/*输出计算结果*/

	return 0;
}

int prime(int m){
    
    
    if(m<=0) return 0;/*素数必须为正数*/
    if(m==1) return 0;/*1为素数*/
    if(m==2) return 1;/*2为素数*/
    
    for(int i=2; i<=m/2; i++){
    
    
        if(m%i==0)/*m能被i整除*/  return 0;
    }
    return 1;/*m为素数*/
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43228814/article/details/112519562