C语言素数问题,急!

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:08:14
从键盘输入一个正整数n,求解并输出大小最接
近n的素数(包括n本身)。例如:
输入:1 输出:2
输入:17 输出:17
输入:45 输出:43 47
这题怎么编啊?用简单的循环什么的编
大家再简单点,我刚学,下面的回答都看不懂的!

很简单啊

#include <stdio.h>

int isPrime(int n)
{
int i;

if(n<2 || n%2==0)
{
return 0;
}
for(i=3;i<=n/2;i+=2)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}

int main()
{
int n,m1,m2;

scanf("%d",&n);
m1=m2=n;
while(!isP(m1))
{
m1--;
}
while(!isP(m2))
{
m2++;
}
if(m1==m2)
{
printf("%d\n",m1);
}
else if(n-m1==m2-n)
{
printf("%d %d\n",m1,m2);
}
else if(n-m1<m2-n)
{
printf("%d\n",m1);
}
else
{
printf("%d\n",m2);
}
return 0;
}

大概是用if(isp(i)==1)来判断<

#include<stdio.h>
int prime(int n)//求素数过程,是返回1,不是返回0
{
for(int i=2;i<in