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

题目:编一个程序,输入一个正整数,判定它是否为回文数和降序数。当输入的数为0时,则退出程序,否则继续循环执行程序。

所谓“降序数”是指一个自然数的低位数字不大于高位数字的数。例如: 64, 55, 321都认为是降序数,但是623不是降序数。一位数字被认为是降序数。

所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如: 646,1551,891232198都认为是回文数。

具体实现代码如下:

 1                     string str;
 2                     bool a = true, b = true;//用于判断回文数和降序数
 3                     int[] nums;
 4                     Console.Write("请输入一个数(输入0退出):");
 5                     str = Console.ReadLine();
 6                     if (str.Equals("0")) { break; }
 7                     nums = new int[str.Length];
 8
 9                     //赋值和判断降序数
10                     for (int i = 0; i < str.Length; i++)
11                     {
12                         nums[i] = int.Parse(str[i].ToString());
13                         if (i > 0 && nums[i] > nums[i - 1]) { a = false; }
14                     }
15
16                     //判断回文数
17                     for (int i = 0, j = str.Length - 1; i < str.Length && j >= 0; i++, j--)
18                     {
19                         if (nums[i] != nums[j]) { b = false; }
20                     }
21                     if (b) { Console.WriteLine("‘{0}’是回文数", str); }
22                     else { Console.WriteLine("‘{0}’不是回文数", str); }
23                     if (a) { Console.WriteLine("‘{0}’是降序数", str); }
24                     else { Console.WriteLine("‘{0}’不是降序数", str); }
25                     a = true;b = true;//重置

原文地址:https://www.cnblogs.com/beimingdaoren/p/12586738.html

时间: 2024-09-30 09:21:53

用c#判断回文数和降序数的相关文章

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("

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

判断回文数

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

实验二 (二) 判断回文数

(2)编写一个Java应用程序.用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223都是回文数. 如何从键盘输入一个数呢? 1 package test; 2 import java.util.Scanner; 3 public class KeyboardInput { 4 public static void main(String[] args){ 5 Scanner x

判断回文数算法

回文数是指正序(从左到右)读和倒序(从右到左)读都是一样的整数. 比如形如 121,1221,13531 的数字都是回文数,但 -121,10,25 等等都不是回文数. 如何判断一个数是回文数?这是一个很简单的算法,最常见的实现方式是使用一个栈或其他方法,把数字序列逆序,然后判断逆序后的数字是否等于原先的数字.显然这种实现方式需要至少 n 次循环才能完成判断. 本文提供一种更巧妙的方法,利用回文数的特点,只需要循环 \(\frac{n}{2}\) 次就可以完成判断了,代码及注释如下: bool

设计一个判断回文数的函数

回文数:回文数也是一个数字,数字的特点是正反序是同一个数字,例如:12321,3443,56765..... 代码如下: bool JudgeIsPalindromicNumber(int num) { int arr[20] = { 0 }; int i = 0,j=0,count=0; while (num) { arr[i] = num % 10; num = num / 10; count++; i++; } for (i = 0, j = count-1; i <= j; i++, j