#习题5-5 使用函数统计指定数字的个数

习题5-5 使用函数统计指定数字的个数(15 分)

本题要求实现一个统计整数中指定数字的个数的简单函数。

函数接口定义:

int CountDigit( int number, int digit );

其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回numberdigit出现的次数。

裁判测试程序样例:

#include <stdio.h>

int CountDigit( int number, int digit );

int main()
{
    int number, digit;

    scanf("%d %d", &number, &digit);
    printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

-21252 2

输出样例:

Number of digit 2 in -21252: 3

#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;
}

int prime( int p ){
	
	int i,temp=1; 

	//首先小于等于0或等于1的数不是素数 
	if(p<=0 || p==1){
		return 0;
	}
	//2是素数 
	if(p == 2){
		return 1;
	}
	//从3开始,能被2至p-1的任何一个数整除都不是素数 
	for(i=2 ; i<p ; i++){
		if(p%i == 0){
			temp = 0;
			break;
		}
	}
		
	return temp;
}

int PrimeSum( int m, int n ){
	
	int p,sum = 0;

	//p从m遍历到n 
	for(p=m; p<=n; p++){
		//判断每一个p是否为素数,如果是素数,则加入sum 
        if( prime(p) != 0 ){
        	 sum += p;
        }  
    }		
	 
	return sum;
} 
 


猜你喜欢

转载自blog.csdn.net/sinat_32638605/article/details/80585707