C++代码札记(四)判断一个数是否为回文数



/*判断一个数是否为回文数,要求一行显示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");
 
	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");


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值