#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
//给定一个数字(整数),判断它是否回文
//假设这是一个有效数字
#pragma argsused
int main(int argc, char* argv[])
{
int num[100]={0}; //按位分析字符
cout<<"Please Input A Number String"<<endl;
//引申:输入的同时获得长度,或专门建立获取数据长度的函数(整、小)
//整数、小数,本文暂考虑小数情形
int num_len=0; //数字长度
int num_tmp=0; //输入字符——先只考虑整数
cin>>num_tmp;
int last_num= getchar();
if (last_num==10 || num_tmp!=0) //有输入,且以换行(10)结束
{
cout<<"Ensure Your Input Is: "<<num_tmp<<endl; //确认输入
}
bool isLoopStr=true; //是否回文,先获利长度和各位
//预设为true,则后面找false跳出点;反之亦然
int num_tmp1=num_tmp;
int j=0; //j:输入整数的长度减1
while (num_tmp1/10>0)
{
num[j] = num_tmp1%10;
num_tmp1 = num_tmp1/10;
j++;
}
num[j] = num_tmp1;
//判断整数是否回文
for (int k=0; k < (j+1)/2; k++)
{
if (num[k] != num[j-k])
{
isLoopStr = false;
break;
}
}
if (isLoopStr)
cout<<"Input Number Is A LoopString"<<endl;
else
cout<<"Input Number Is Not A LoopString"<<endl;
cout<<"Press Any Key to Exit!"<<endl;
getchar();
return 0;
}
【华为面试题】给定一个数字(整数),判断它是否回文
最新推荐文章于 2024-04-23 06:06:09 发布