今天再次看到了这个题目,是用来判断一个数是否为对称数。想了想,把两个方法总结如下,当做复习,也希望对小伙伴们有所帮助哈。接下来上代码:
方法1:
public bool FindNumber(int n)//判断是否为对称数
{
String number=n.toString();//将int类型的值转化为String类型,就可以按照数组来操作哈
for(int i=0;i<number.Length/2;i++)//循环一半就够了
{
if(number[i]!=number[number.Length-1-i])
return false;
else
return true;
}
}
方法2:
public bool FindNumber(int n)//判断是否为对称数
{
int nvalue=0;//用来将n逆向存放(例如:1234存为4321)
int temp=n;//开始存放n,然后每次减少最后一位
while(temp>0)
{
nvalue=nvalue*10+temp%10;
temp=temp/10;
//nvalue每次都会添加n的最后一位数字,%表示取余数
//(例如:n=1234)第一次nvalue=4;这时候temp=123
//第二次,nvalue乘以10,变为40。加上3变为43
//第三次,nvalue乘以10,变为430,加上2变为432.。。。。。。。。。。。。。。。。。。。。。。
}
if(nvalue!=n)
return false;
else
return true;
//其实return (nvalue==n)这样更简单
}
虽然这是个很简单的程序,但是还是细致的讲解一下,想当年我初学c的时候,什么都不懂,给了代码也看不明白。。。。。。