【发布时间】:2023-03-11 19:22:02
【问题描述】:
我是 C# 和类 C 语言的新手,在我的代码中找不到错误。 运动描述:
票号通常由偶数位组成。一张票 如果数字的前半部分相加,则数字被认为是幸运的 等于后半部分的总和。
给定一张票号 n,判断它是否幸运。
例子
对于 n = 1230,输出应该是 isLucky(n) = true;对于 n = 239017, 输出应该是 isLucky(n) = false。输入/输出
【执行时间限制】3秒(cs)
[输入] 整数 n
票号表示为带有偶数的正整数 位数。
保证约束:10 ≤ n
[输出] 布尔值
如果 n 是幸运票号,则为 true,否则为 false。
我的代码:
bool isLucky(int n)
{
string ticket = n.ToString();
int firstSum = 0;
int secondSum = 0;
string[] ticketStrArr = ticket.Split("");
int lenHalf = ticketStrArr.Length / 2;
for(int i = 0; i < lenHalf; i++)
{
firstSum = firstSum + Int32.Parse(ticketStrArr[i]);
secondSum = secondSum + Int32.Parse(ticketStrArr[i + lenHalf]);
}
return (firstSum == secondSum);
}
【问题讨论】:
-
这是开始使用调试器的绝佳机会。使用调试器,您可以在代码执行时逐行单步执行代码,观察确切的运行时行为并更改变量的值。当你这样做时,哪个操作首先产生了意想不到的结果?操作中使用的值是什么?结果如何?预期的结果是什么?为什么?
-
似乎一个好的步进调试器对解决这个问题很有用。 Try this one
标签: c#