编辑代码

#include <stdio.h>
#include<math.h>
/*
    函数声明
*/
int prime(int p);
int primeSum(int m,int n);
/*
    主函数
*/
int main()
{
   
	int p,m,count;
    m=49;
    count=0;
    //对p进行赋值 判断是否是素数  1代表是素数 0代表不是素数
    printf("输入一个数:%d \n",m);
    
    //50~20000之间
    if(m>=50&&m<=20000){
        for(p = m-1; p>0;p--){
            //如果是素数就输出 count++
            if(prime(p)){
            //如果是素数,判断小于输入的数字
             printf("%6d ",p);
             count++;
            if(count==10){
                break;
            }
            }
        }
    }else{
        printf("数据格式不合格");
    }
    
    //指定区间内的素数和;
    //printf("区间和是:%d ",primeSum(1,10));
    //return 0;
}
/*
  判断是否是素数
*/
int prime(int p)
{
    //c语言想用变量,首先进行声明,首先声明变量的类型,然后进行赋值
	int j;
    //判断如果传入的参数小于或等于1,就返回0;0代表是不是素数,1代表是素数
	if(p<=1)
	
	return 0;
	//如果等于2的话就返回1;
	else if(p==2)
		return 1;
	else
	{ 
		//输入的是2以上的数的时候,
        
        //对输入的数 进行处理(除了本身,逐个进行相除)
       
        for(j=2;j<=p-1;j++)
		{
            //素数判断条件除了1和本身之外还有别的数,能被它整除;
		    if(p%j==0)
				return 0;
		}
        
		return 1;
        
	}


}
/*
    指定区间的素数和
*/
int primeSum(int m,int n)
{
    //定义两个变量
    int i,sum;
    sum=0;
    //如果输入m>n 不合理
    if(m>n){
        return 0;
    }else{
        //从m到n 逐个进行判断
        for(int i=m;i<=n ;i++){
            //将m到n之间的数
            //逐个传入到判断是否是素数的函数中进行判断 
            if(prime(i)==1){
                //等于1 说明是素数,然后求和将数值赋值给sum
                sum =sum+i;
            }
        }
        //最后将数值返回给函数调用者
        return sum;
    }
}