将整数变成字符串,可用于判断回文数

判断回文数

C++中如何使函数返回数组
在C++中,数组不是一种类型,因此不能被直接返回。一般有两种方法来返回一个数组。

1.转换成字符串

代码块

void *itoa(int n, char s[])
{
int i, j, sign;
if ((sign = n)<0)//记录符号
n = -n;//使n成为正数
i = 0;
do {
s[i++] = n % 10 + ‘0’;//取下一个数字
}
while ((n /= 10)>0);//删除该数字
if (sign<0)
s[i++] = ‘-‘;
s[i] = ‘\0’;
//返回字符串
return s;
//打印字符串
for (j = i; j >= 0; j–)//生成的数字是逆序的,所以要逆序输出
printf(“%c”,s[j]);
}

2.数字翻转

代码块

//整数x
int tmp = x, res = 0;
while (tmp>0)
{
res = res * 10 + tmp % 10;
tmp = tmp / 10;
}
return res;

3.逐位比较

//整数x
int len=1;
while(x/len>=10)
len=len*10;//获取位数
while(x>0)
{
int left=x/len;
int right=x%10;
if(left!=right)
return false;
else
{
x=(x%len)/10;//删除首尾
len=len/100;
}
}

猜你喜欢

转载自blog.csdn.net/mianjiao6806/article/details/82149263