这个回文数计算提交总是错,哪位帮帮忙

编写函数求区间【200,3000】中所有的回文数,回文数是正读和反读都是一样的数
,如525。
#include(studio.h)
void solve(){}

img


#include <stdio.h>

int solve()
{
    int double_word_count = 0;
    for (int i = 200; i <= 3000; i++)
    {
        //个位数和百位数相同(200-999)
        if (i <= 999 )
        {
            if (i % 10 == i / 100)
            {
                printf("%d,", i);
                double_word_count++;
            }
        }
        else  
        {
            if (i % 10 == i / 1000 && i / 10 % 10 == i / 100 % 10)
            {
                printf("%d,", i);
                double_word_count++;

            }
        }
        //个位数和千位数相同,且十位数和百位数相同
    }
    return double_word_count;
}
int main()
{
    printf("200-3000的回文数有%d个\n", solve());
    system("pause");
}

#include <iostream>

using namespace std;

int main() {
    int x = 200;
    int y = 3000;
    for (int i = x; i <= 999; i++) {
        int a = i / 100;
        int b = i % 10;
        if (a == b) {
            cout << i << ' ';
        }
    }
    for (int i = 1000; i <= y; i++) {
        int a = i / 1000;
        int b = i / 100 % 10;
        int c = i / 10 % 10;
        int d = i % 10;
        if (a == d && b == c) {
            cout << i << ' ';
        }
    }
    return 0;
}

是要直接输出,还是输出yes no

yes no

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=200;i<=300;i++){
        int y=0;
        int a1=i;
        while(a1){
            y=y*10+a1%10;
            a1/=10;
        }
        if(i==y){
            cout<<"yes"<<endl;
        }
        else{
            cout<<"no"<<endl;
        }
    }
    return 0;
}


直接输出

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=200;i<=300;i++){
        int y=0;
        int a1=i;
        while(a1){
            y=y*10+a1%10;
            a1/=10;
        }
        if(i==y){
            cout<<i<<endl;
        }
        else{
            continue;
        }
    }
    return 0;
}


供参考:

#include<stdio.h>
void solve(int n,int m)
{
    int i,k,t,cnt=0;
    for(i=n;i<=m;i++)
    {
        k=i;t=0;
        while(k){
            t = t*10 + k%10;
            k /= 10;
        }
        if(t == i){
            printf("%c%4d",cnt==0?'\r':cnt%5==0?'\n':' ',i); //每5个数一行
            cnt++;
        }
    }
    printf("\ncount=%d\n",cnt);
}

int main()
{
    solve(200,3000);
   
    return 0;
}