c语言菜鸡,求一个代码,我的哪错了,如图,谢谢

如题所述

#include <stdio.h>

#include <math.h>


bool IsPalindromeNum(int num) {

    char s[10],i = 0,j;

    while(num > 0) {

        s[i] = num % 10 + '0';

        num = num / 10;

        i++;

    }

    s[i] = '\0';

    i--;

    for(j = 0;j < (i + 1)/2;j++) if(s[j] != s[i - j]) return false;

    return true;

    }


void Primes(int m,int n) {

    int i,j,flag,counter = 0;

    if(m % 2 == 0) m++;

    for(i = m;i <= n;i += 2) {

        flag = 1;

        for(j = 2;j < sqrt(i) + 1;j++) {

        if(i % j == 0) {

            flag = 0;

            break;

        }

    }

    if(flag && IsPalindromeNum(i)) {

        if(counter % 10 == 0) printf("\n");

            printf("%6d",i);

            counter++;

        }

}

printf("\n");

}


int main() {

    int n;

    printf("n = ");

    scanf("%d",&n);

    printf("%d到%d之间的回文素数有:\n",11,n);

    Primes(11,n);

    printf("\n");

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答