这是一道老题目了,代码如下,望采纳:
#include
#include
int findNUM(void)
{
int cnt = 0;
int N = 0; //EDCBA
int Nswitch = 0; //ABCDE
for(cnt = 10000 * 4; cnt <= 99999; cnt += 4)// 初始位置是40000,因为ABCDE最小为10000,那EDCBA最小为40000
{
Nswitch = 0;
N = cnt;
//将EDCBA变换为ABCDE
do
{
Nswitch = Nswitch * 10 + N % 10;
N /= 10;
}while(N != 0);
if((cnt >> 2) == Nswitch)
{
return cnt; //找到该数并返回
}
}
return -1;//找不到,返回-1
}
int main(void)
{
int result = findNUM();
switch(result)
{
case -1:
{
printf("the number isn't exist!\n");
break;
}
default:
{
printf("the ABCDE is %d\n", result / 4);
printf("the EDCBA is %d\n", result);
break;
}
}
return 0;
}