一道计算机二级的题目
程序员文章站
2022-03-13 12:15:29
...
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。
#include<stdio.h>
#include<math.h>
#include<Windows.h>
int isprime(int x);
void swap(int *x,int *y);
int main(void)
{ int m=0,n=0,sum=0,j=0;
printf("输入两个正整数m和n(m<n):");
scanf("%d %d",&m,&n);
if(m>n)
{
swap(&m,&n);
}
for(j=m;j<=n;j++)
{
if(isprime(j))
{
sum+=j;
}
}
printf("m到n之间(包括m和n)所有素数的和为:%d\n",sum);
system("pause");
return 0;
}
int isprime(int x)//判断素数
{ int i=2,m=0;
for(;i<=sqrt(x);i++)
{
if(x%i==0){m++;}}
if(m!=0)
return 0;
else
return 1;
}
void swap(int *x,int *y)
{ int temp;
temp=*x;
*x=*y;
*y=temp;
}