求C++程序:输出1000-2000中的回文数

2024-11-19 00:37:12
推荐回答(4个)
回答(1):

恩,楼上的答案都很不错,其中二楼 wals3310100的答案是目前求回文数的最佳方法,下面我再给出另外的一种考虑方法:
#include
int main()
{
int a[4],i,j;
std::cout<<"1000~9999之间的对称数为"< for(i=1000;i<10000;i++)
{
a[0]=i%10;
j=i/10;
a[1]=j%10;
j=j/10;
a[2]=j%10;
j=j/10;
a[3]=j;
if(a[0]==a[3]&&a[1]==a[2])
std::cout<
}
return 0;
}

回答(2):

我觉得三楼写的可以,
在头文件里写上
using namespace std;

后面的
std::endl ;
std::cout ;
中的std::就可以省略了,
与编译器有关,V C++里面可以用using namespace std;

回答(3):

int count = 0;
for (int i = 1000; i < 2000; i++)
{
int n = i;
int m = 0;
while (n!=0)
{
m = m * 10 + n % 10;
n /= 10;
}
if (m == i)
{
printf(("%d",m);
count++;
}
}

回答(4):

for (i=0;i<10;i++){
printf("%d",1*1000+i*110+1);
}