將整數變成字串,可用於判斷迴文數
阿新 • • 發佈:2018-12-15
判斷迴文數
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;
}
}