21xrx.com
2024-11-22 09:35:37 Friday
登录
文章检索 我的文章 写文章
如何用C语言判断一个数是不是回文数
2023-06-18 12:14:15 深夜i     --     --
C语言 判断 回文数

文章

回文数是指正读和反读都相同的整数。比如121、1221、12321等。在编程中,判断一个数是否为回文数是一道常见的题目,下面介绍用C语言实现的方法。

思路:

首先,需要将需要判断的整数按位拆分,取出每一位的数值。为了方便处理,可以将这些数值存储在一个数组中。

接着,比较数组中对应位置的两个数值,判断它们是否相同,如果有不同的,则该整数不是回文数,反之,则是回文数。

具体实现:

(1) 将需要判断的整数转换成字符数组

int num = 12321; // 声明一个需要判断的整数

char str[20];   // 声明一个字符数组,存储转换后的整数

sprintf(str, "%d", num); // 将整数转换成字符数组

(2) 将字符数组中的每一位数值存储到一个整数数组中

int len = strlen(str);  // 获取字符数组的长度

int arr[len];       // 声明一个整数数组,存储每一位数值

for (int i = 0; i < len; i++) {

  arr[i] = str[i] - '0';  // 将字符数组中的每一位数值转换成数字,并存储到整数数组中

}

(3) 判断整数数组中对应位置的数值是否相同

int i = 0;

int j = len - 1;

while (i < j) {

  if (arr[i] != arr[j]) {

    printf("该整数不是回文数\n");

    break;

  }

  i++;

  j--;

}

if (i >= j) {

  printf("该整数是回文数\n");

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复