当前位置:   article > 正文

C语言:浙大版《C语言程序设计(第3版)》题目集 习题5-4 使用函数求素数和 (20 分)_5-3 显示指定范围的素数并求和 分数 20 作者 陈春晖 单位 浙江大学 本题要求显示

5-3 显示指定范围的素数并求和 分数 20 作者 陈春晖 单位 浙江大学 本题要求显示

其他题目详见:浙大版《C语言程序设计(第3版)》题目集

一.题目描述:

习题5-4 使用函数求素数和 (20 分)

本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。

素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。

函数接口定义:

int prime( int p );

int PrimeSum( int m, int n );
  • 1
  • 2
  • 3

其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数m≤n。
裁判测试程序样例:

#include <stdio.h>

#include <math.h>


int prime( int p );

int PrimeSum( int m, int n );

    

int main()

{

    int m, n, p;


    scanf("%d %d", &m, &n);

    printf("Sum of ( ");

    for( p=m; p<=n; p++ ) {

        if( prime(p) != 0 )

            printf("%d ", p);

    }

    printf(") = %d\n", PrimeSum(m, n));


    return 0;

}


/* 你的代码将被嵌在这里 */
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

输入样例:

-1 10

输出样例:

Sum of ( 2 3 5 7 ) = 17

二.代码示例:

int prime( int p )
{
	int j,leap = 1;
	if(p <= 1)
		return 0;
	for(j = 2 ; j < p ; j++)
	{
		if(p % j == 0)
		{
			leap = 0;
			return 0;
			break;
		}
	}
	if(leap)
		return 1;
}
int PrimeSum( int m, int n )
{
	int i,j,leap = 1,sum = 0;
	for(i = m ; i <= n ; i++)
	{
		for(j = 2 ; j < i ; j++)
		{
			if(i % j == 0)
			{
				leap = 0;
				break;
			}
		}
		if(leap)
			sum += i;
		leap = 1;
	}
	return sum;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号