C语言判断回文数

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main()
 4 {
 5     //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是
 6
 7     int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到
 8     result = 0; //对result的初始化
 9     printf("请输入要判断回文数的数字\n");
10     scanf_s("%d", &resource);
11
12     re_tmp = resource;
13
14     //程序 核心 将得到的数值进行翻转
15     // 1.得到最后一位数 re_tmp/10 将得到以后的数字划掉
16     //2.上一步得到的数字 x10 +这一次的最后一位数 re_tmp/10 将得到的数字划掉 以此类推
17     while (re_tmp)
18     {
19         result = result * 10 + re_tmp % 10;
20         re_tmp = re_tmp / 10;
21 //如果这里直接用resource变量的话 数值翻转后resource的值就会变成0 到时候 就无法和翻转后的数值进行比较 所以这个地方用了一个 存放resource值的临时变量 re_tmp
22
23     }
24
25     //判断回文数 将翻转后的数值和翻转前的数值进行比较
26     if (resource == result)
27     {
28         printf("它是回文数\n");
29     }
30     else if (resource != result)
31     {
32         printf("它不是回文数\n");
33     }
34
35
36
37     getchar();
38     getchar();
39     return 0;
40 }
时间: 2024-08-06 16:06:23

C语言判断回文数的相关文章

(C语言)回文数的判断

问题描述: 判断一个数是否为回文数: 121: 12321: 1234321: 程序分析: 1. 回文数(palindromic number):是指一个数的最高位和最低位上的数相等,第二高位与次低位上的数相等,也就是关于中间"对称".如上面的三个数情况是一个回文数. 2.将这个数扩展成一个数组,将这个数的各个位上的数取出来并且一一赋给这个数组. 3.判断这个数组中的元素之间的关系是否符合回文数的特征.并且将结果输出.这个程序写了一个函数来实现这一功能. 代码如下: #include&

Python基础判断回文数

#判断回文数 a=raw_input('your enter:\n')b=[]l=len(a)for i in range(0,l):    m=a[l-i-1]    b.append(m) for j in range(l):   mark=True   if a[j]!=b[j]:       print 'no'       mark=False       breakif mark==True:    print 'yes'

ACM之判断回文数

题目如下 这道题比较简单,先上Python代码感受一下,就一行搞定: #判断回文数 def isPalindrom(x):     return  str(x) == str(x)[::-1] 这种方法虽然简单,但是耗时比较长.再用Java解决一下看看 方法一 显然负数不可能是回文数,区间[0,9]的整数肯定是回文数,所以把这些确定的条件先进行判断 将整数的每一位放在链表中,然后将链表逆序,比较逆序链表与顺序链表元素是否一样,一样则是回文数,否则不是 代码如下: public class Pal

用c#判断回文数和降序数

题目:编一个程序,输入一个正整数,判定它是否为回文数和降序数.当输入的数为0时,则退出程序,否则继续循环执行程序. 所谓“降序数”是指一个自然数的低位数字不大于高位数字的数.例如: 64, 55, 321都认为是降序数,但是623不是降序数.一位数字被认为是降序数. 所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的.例如: 646,1551,891232198都认为是回文数. 具体实现代码如下: 1 string str; 2 bool a = true, b = true;/

【C语言】回文数与回文字符串的判断。

任意输入一个数,判断是否为回文数. 方法:将高低位互换之后如果仍然相等,则为回文数. #include <stdio.h> int huiwen(unsigned int value) { unsigned int n = value; unsigned int t = 0; while(n) { t = t*10 + n%10; n = n/10; } return (t == value); } int main () { int a,tmp; printf("please en

C语言-数组指针判断回文数

int num[5]={1,9,3,2,1}; int *p=num; int *q=&num[4]; int flag=1; for (; p<q; p++,q--) { if (*p!=*q) { flag=0; break; } } if (flag) { printf("回文数!\n"); }else{ printf("不是回文数"); } 版权声明:本文为博主原创文章,未经博主允许不得转载.

判断回文数

import java.util.Scanner; public class PalindromicNumber { /** * 输入一个五位数判断是否为回文数 */ public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.println("请输入一个五位数"); int num=s.nextInt(); int ge=num%10; //ge表示个位上的数 int sh

Python练习题 025:判断回文数

[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ----------------------------------------------- 做题做到现在,这种题目已经很轻车熟路了.希望下一题能增加点难度啊~~~ x = input('请输入一个5位数:') if x[0] == x[4] and x[1] == x[3]: print('%s是个回文数' % x) else: print('%s不是回文数' % x) 输

(LeetCode)Palindrome Number -- 判断回文数

Determine whether an integer is a palindrome. Do this without extra space. 解题分析: 题目很简单,但是对于要求需要看清楚. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using ex