【发布时间】:2015-03-10 15:38:59
【问题描述】:
这是我进行的回文测试的常规方法,但我需要一个递归函数来检查数字是否为回文。
int number, firstnumber, lastnumber, secondnumber, fourthnumber;
readingnumber:
Console.Write("Please enter your palindrome number(5 digits) :" );
//reading the integer number entered
number = Int32.Parse(Console.ReadLine());
//making condition if the number is less than 5 digits
if (number / 100000 != 0)
goto readingnumber;
else
{
//we are taking each element alone
firstnumber = number / 10000;
lastnumber = number % 10;
fourthnumber = (number % 100) / 10;
secondnumber = (number % 10000) / 1000;
//making if condition to verify if the number is palindrom or not
if (firstnumber == lastnumber && secondnumber == fourthnumber)
Console.WriteLine("\n\nthe number you've enter is palindrom");
else
Console.WriteLine("\n\nthe number you've enter is not palindrom");
//end of program
Console.WriteLine("\n\n\n\t\tPlease enter any key to exit ...");
}
Console.ReadLine();
【问题讨论】:
-
当我编辑这个时,我怀疑它是 C#,当我看到
readingNumber:单独作为一行时,我看到了 goto statement。您可能想阅读类似这样的问题:"What is the best way to avoid goto?"。不惜一切代价避免使用goto- 当肆意使用goto语句导致难以调试的意大利面条式代码时,就会出现“goto地狱”之类的东西。
标签: c# recursion palindrome