/*判断一个数是否为回文数,要求一行显示8个,每个数占6列显示*/
string 判断回文数(int 回文数 = 98)
{/*任意不超过10位的数*/
int 数位[10]{0}, 位(0), 半(0);
string 是否("是");
do
{
数位[位++] = 回文数 % 10;
} while (回文数 /= 10);
do
{
if (数位[--位] != 数位[半++])
{
是否 = "否";
break;
}
} while (位 > 半);
return 是否;
};
用VB写法:
Function 判断回文数(回文数 As Integer) As String
Dim 是否 As String = "是", 数位(10) As Integer, 位 As Integer = 0, 半 As Integer = 0
Do
数位(位) = 回文数 Mod 10
位 += 1
回文数 \= 10
Loop While (回文数 > 0)
Do
位 -= 1
If (数位(位) <> 数位(半)) Then
是否 = "否"
Exit Do
End If
半 += 1
Loop While (位 > 半)
Return 是否
End Function
int 数(1), 控制(1);
do
{/*判断一个数是否为回文数,要求一行显示8个,每个数占6列显示*/
if (判断回文数(数) == "是")
{
printf("%6d", 数);
cout << ">" << 判断回文数(数) << " ";
if (!(控制++ % 8)) cout << endl;
}
} while (++数 < 100000);
char a[100];int aa(0),b,p;
gets(a);
b=strlen(a);
do
{
if(a[aa]!=a[--b])
{
p=0;
break;
}
else p=1;
}while(++aa<=b);
std::cout << (p?"是\n":"否\n");
2020-11-27 缘由
#初学 为啥我这个程序得不了满分呀?/明明已经很简洁啦-CSDN问答
int n = 0, c = 0, h = 0; cin >> n; c = n; while (n)h *= 10, h += n % 10, n /= 10; cout << (c == h ? "TRUE" : "FALSE");