求调试一回文数程序,运行老出错

#include
#include
#include
using namespace std;
int Bit(int n);
int CircleNum(int m);
int bit[16];
int i,j=0,k=0;

int main()
{
int left,right;
cout<<"请输入最小值:";
cin>>left;
cout<<"请输入最大值:";
cin>>right;
for(i=left;i {
if(CircleNum(i)&&Bit(i))
{
cout if(i%10==0)
cout }
else
cout }
return 0;
}
int CircleNum(int m)
{
int t=10;
int n=0,c=0;
for(t;t {
n+=1;
}
int a[n+1];
for(i=n;i>=0;i--)
{
a[i]=m/((int)pow(10,i));
m=m%((int)pow(10,i));
}
int mid=(n+1)/2;
for(j=0;j {
if(a[j]==a[n-j])
c+=1;
}
if(c==(n/2)+1)
return true;
else
return false;
}
int Bit(int n)
{
int s;
for(i=0;i {
bit[i]=n%2;
n/=2;
if(n==1)
{
n=0;
}
}
for(i=16;i>=0;--i)
{
s+=bit[i]*((int)pow(10,i));
}
if(CircleNum(s))
return true;
else
return false;
}

int * a = new int[n+1];

还有别的错

 #include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;

int main()
{
    int left,right;
    cout<<"请输入最小值:";
    cin>>left;
    cout<<"请输入最大值:";
    cin>>right;
    char temp[100];
    for(int i=left;i<=right;i++)
    {
        itoa(i, temp, 10);
        int n = strlen(temp);
        int j = 0;
        for (; j < n / 2; j++)
        {
            if (temp[j] != temp[n - 1 - j]) break;
        }
        if (j == n / 2) cout << i << endl;
    }
    return 0;
}