C语言:判断一个数是不是为回文数,要求如下:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:判断一个数是不是为回文数,要求如下:相关的知识,希望对你有一定的参考价值。
(1)定义一个函数separate(int * data,int n),该函数将n的各个位上的数分离保存在data所指向的数组中。
(2)定义一个函数judge(int * data,int len),判断data所指向的数组是否为回文。
(3)main函数中调用上述的函数,完成程序的功能。用指针
源程序+ 结果截图
判断一个数是否为回文数
判断一个数是否为回文数
1、实验要求:
1.按照提供的程序模板编辑程序,并在相应的空白处填出正确代码,并回答最终的问题。
2.实验报告中要求包括程序设计思想、程序流程图、空缺处的源代码、验证结果截图等内容。
2、实验题目:
1.编写一个 Java 应用程序。用户从键盘输入一个 1—9999 之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。
2.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223 都是回文数。
3、程序代码:
package demo;
import javax.swing.JOptionPane;
public class dzn
{
public static void main(String args[])
{
int number=0,d5,d4,d3,d2,d1;
String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");
number=Integer.parseInt(str);
if((number>0)&&(number<100000))//判断number在1至99999之间的条件
{ d5=number/10000;//计算number的最高位(万位)d5
d4=number%10000/1000;//计算number的千位d4
d3=number%1000/100;//计算number的百位d3
d2=number%100/10;
d1=number%10;
if(d5!=0)//判断number是5位数的条件
{
System.out.println(number+"是5位数");
if((d5==d1)&&(d4==d2))//判断number是回文数的条件
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d4!=0)//判断number是四位数的条件
{
System.out.println(number+"是四位数");
if ((d4==d1)&&(d3==d2))//判断number是回文数的条件码
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d3!=0)//判断是3位数的条件
{
System.out.println(number+"是3位数");
if (d3==d1)//判断number是回文数的条件码
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d2!=0)
{
System.out.println(number+"是2位数");
if(d1==d2)
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
else if(d1!=0)
{
System.out.println(number+"是1位数");
System.out.println(number+"是回文数");
}
}
else
{
System.out.printf("\\n%d 不在1至99999之间",number);
}
}
}
4、实验后的问题:
1.程序运行时,用户从键盘输入2332,程序提示怎样的信息?
2.程序运行时,用户从键盘输入654321,程序提示怎样的信息?
3.程序运行时,用户从键盘输入33321,程序提示怎样的信息?
以上是关于C语言:判断一个数是不是为回文数,要求如下:的主要内容,如果未能解决你的问题,请参考以下文章