
判断回文数
问题的描述
如下几点所示
注意:
其中,本文要使用的回文数如下功能所示。
本文C语言经典算法实例的编译环境,使用的是集成开发环境:Visual Studio 2019
Visual Studio 2019官网链接如下
Visual Studio 2019集成的开发环境的特点有
包含头文件 代码如下所示
#pragma once
// 包含头文件
#include
#include
声明数组,并初始化 代码如下所示
int num[] = { 232,27,851, 12321}; // 定义输入数字变量的数组。
int scale[] = { 2,10,16 }; // 定义输入进制变量的数组。
声明相关变量 代码如下所示
int i, j; // 声明相关的变量
声明函数 代码如下所示
///
/// 判断数字n是否是输入d进制的回文数
///
/// 数字n
/// d代表进制, 若d = 10 , 则数字n是十进制
/// 如果数字n是d进制的回文数, 则返回1
int circle(int n, int d);

函数的定义 代码如下所示
///
/// 判断数字n是否是输入d进制的回文数
///
/// 数字n
/// d代表进制, 若d = 10 , 则数字n是十进制
/// 如果数字n是d进制的回文数, 则返回1
int circle(int n, int d)
{
int s = 0, m = n;
while (m)
{
s = s * d + m % d;
m /= d;
}
return s == n;
}
遍历数组中的数字, 进行是否是回文数的判断 的代码如下所示。
///
/// 遍历数组中的数字, 进行是否是回文数的判断
///
/// 无
for (i = 0; i < sizeof(num) / sizeof(num[0]); i++)
{
for (j = 0; j < sizeof(scale) / sizeof(scale[0]); j++)
{
if (circle(num[i], scale[j])) // 调用circle函数, 对数组中的存储的数字进行回文数的判断。
{
printf("%d --> (%d) 进制是回文数\n", num[i], scale[j]);
}
else
{
printf("%d --> (%d) 进制不是回文数\n", num[i], scale[j]);
}
}
printf("\n");
}
printf("\n");
按F5进行编译,调试结果如下所示。

经典算法实例程序完整代码如下所示
#pragma once
// 包含头文件
#include
#include
int num[] = { 232,27,851, 12321}; // 定义输入数字变量的数组。
int scale[] = { 2,10,16 }; // 定义输入进制变量的数组。
///
/// 判断数字n是否是输入d进制的回文数
///
/// 数字n
/// d代表进制, 若d = 10 , 则数字n是十进制
/// 如果数字n是d进制的回文数, 则返回1
int circle(int n, int d);

#define _CRT_SECURE_NO_WARNINGS
#include "Main.h"
///
/// 主函数
///
/// 返回0
int main()
{
system("color 3E");
int i, j; // 声明相关的变量
///
/// 遍历数组中的数字, 进行是否是回文数的判断
///
/// 无
for (i = 0; i < sizeof(num) / sizeof(num[0]); i++)
{
for (j = 0; j < sizeof(scale) / sizeof(scale[0]); j++)
{
if (circle(num[i], scale[j])) // 调用circle函数, 对数组中的存储的数字进行回文数的判断。
{
printf("%d --> (%d) 进制是回文数\n", num[i], scale[j]);
}
else
{
printf("%d --> (%d) 进制不是回文数\n", num[i], scale[j]);
}
}
printf("\n");
}
printf("\n");
system("pause");
return 0;
}
///
/// 判断数字n是否是输入d进制的回文数
///
/// 数字n
/// d代表进制, 若d = 10 , 则数字n是十进制
/// 如果数字n是d进制的回文数, 则返回1
int circle(int n, int d)
{
int s = 0, m = n;
while (m)
{
s = s * d + m % d;
m /= d;
}
return s == n;
}

本文的C语言经典算法实例:求二维数组最大最小值,要实现的目标如下

文到这里就结束啦。
希望本文的C语言经典算法实例4:判断回文数。
能激发你对C语言以及算法学习的热爱。