从键盘输入一个正整数,判别它是否为回文数。所谓回文数,是指正读和反读都一样的数。例如,123321是回文数。(编程题)
#include <iostream>
using namespace std;
int main()
{ long long x; while (cin >> x) { long long num = 0; long long tmp = x; while (tmp) { num = num * 10 + tmp % 10; tmp /= 10; } if (x == num) cout << "回文数" << endl; else cout << "非回文数" << endl; }
}
#include<iostream> using namespace std; int main() { int b[10], i, j, k, flag ; long num, n ; cout << "num=" ; cin >> num; k = 0; n = num; do //拆分整数,把各数字放入数组b { b[k++] = n % 10; n = n/10; } while( n != 0); flag=1; //判断标志 i=0; j=k-1; //设置指示下标的指针 while(i<j) if( b[i++] != b[j--] ) //对称位置元素不相等 { flag = 0; break ; } if( flag ) cout << num << "是回文数!" << endl; else cout << num << "不是回文数!" << endl; }