C语言新手问题求解答!!

从键盘输入一个整数,输出距离该数最近的素数。根据输入的数不同,此问题可能有一个答案(或者比输入的数大或者比输入的数小),也可能需要输出两个值(一个比输入的数大,一个比输入的数小,两个距离输入的数一样近)。PS:数学意义上的最小素数是2,例如,若输入-213,结果应是2
不要太高深 开头用#include int main for scanf printf 等等这几类基础的吧
其他复杂的就算了吧

#include<stdio.h>
int is(int n){
    int count=0;

    int i=0;
    for(i=2;i<n;i++){
        if (n%i==0)
        count++;
    }
    if(n==1)
    count=1;
    if(count==0)
    return 1;
    else return 0;
}
int main(){
    int n;
    scanf("%d",&n);
    int i=0,j=0;
    if(n>1){

    for(i=1;is(n+i)==0;i++);
    for(j=1;is(n-j)==0;j++);
    if(i==j)
    printf("%d %d",n+i,n-j);
    if(i>j)
    printf("%d",n-j);
    if(i<j)
    printf("%d",n+i);}
    else
    printf("2\n");

    return 0;

}

直接找出它两边的素数(要考虑它本身也是素数的情况),然后比较谁近就好啦。

https://zhidao.baidu.com/question/543219108.html