回文数是指其数字反转后仍保持不变的数字。为了更好地理解此回文 C 语言程序示例,我们始终建议您学习下面列出的 C 语言编程基础主题
这个 C 语言程序解释了如何反转给定数字并检查它是否是回文数。
回文数是指如果我们反向读取它,它仍然是相同的数字,这意味着如果从后向前或从前向后读取,数字或字符串将保持不变。
例如,'121' 是一个回文数。同样,在字符串 'madam' 或 'civic' 的情况下,它们是回文字符串。因此,要检查回文数,我们必须反转该数字中的数字,并检查两者是否相同。
在这个回文 C 语言程序中,我们将变量 'rev' 初始化为零。接受数字作为输入后,将数字保存到临时变量中,然后使用 'while 循环' 直到数字大于零。然后,要从数字中提取最后一位数字,使用与 '10' 的模运算符来获取数字(余数)。
使用 rev = rev * 10 + digit 将我们得到的余数添加到反转变量中。然后,要从数字中删除最后一位数字,将数字除以 10。最后,比较数字和反转后的数字,并使用 if 条件检查它们是否相同。如果两个数字相同,则打印该数字为回文数。否则,打印不是回文数。
步骤 1: 包含头文件以访问库和内置函数。
步骤 2: 在 C 语言程序中声明和定义变量。
步骤 3: 使用 printf 和 scanf 内置函数接受数字,并将该数字保存在变量中。
步骤 4: 将数字存储在临时变量中,以保持原始数字的安全。
步骤 5: 打开一个 While 循环,直到数字大于零以反转数字。
步骤 7: 使用与 10 的模运算符获取数字的最后一位数字,并将其保存在变量中。
步骤 8: 使用公式 rev * 10 + Digit; 将数字添加到反转数字变量中(我们将数字乘以 10 以使添加的数字位置正确)。
步骤 9: 将数字除以 10 以删除最后一位数字,并继续该循环直到数字为零。
步骤 10: 使用 if 条件检查数字和反转后的数字是否相同。
步骤 11: 如果该条件匹配,则打印它是回文数,否则打印不是回文数。
#include <stdio.h>
void main()
{
int num, temp, digit, rev = 0;
printf("Enter an integer\n");
scanf("%d", & num);
temp = num; /* original number is stored at temp */
while (num > 0)
{
digit = num; /* use mod operator to take the last digit of the number */
rev = rev * 10 + digit; /* add the digit to rev *10 to assign the digit to position */
num /= 10; /* divide the number by 10 to remove the last digit */
}
printf("Given number is = %d\n", temp);
printf("Its reverse is = %d\n", rev);
if (temp == rev)
printf("Number is a palindrome\n"); /* check both variables are equal if so it is palindrome else not */
else
printf("Number is not a palindrome\n");
}
RUN 1 Enter an integer 12321 Given number is = 12321 Its reverse is = 12321 Number is a palindrome RUN 2 Enter an integer 3456 Given number is = 3456 Its reverse is = 6543 Number is not a palindrome