我需要检查给定的数字x
是否可以用最小的数字整除:
int x, a, b, c,min;
x = Convert.ToInt32(tbx.Text);
a = x / 100;
b = (x / 10) % 10;
c = x % 10;
a = min;
if (b < min)
b = min;
if (c < min)
c = min;
if ((x % min) = 0)
lbl_solution.Text = "number is divisible";
else
lbl_solution.Text = "number is not divisible";
如何解决此错误?
无法将int隐式转换为bool
答案 0 :(得分:1)
感谢您帮助我,这是我感谢您的正确代码
int x, a, b, c, min;
x = Convert.ToInt32(tbx.Text);
a = x / 100;
b = (x / 10) % 10;
c = x % 10;
min=a;
if (b < min)
b = min;
if (c < min)
c = min;
if ((x % min) == 0)
lbl_solution.Text="number is divisible";
else
lbl_solution.Text="number is not divisible";
答案 1 :(得分:0)
你的第一个错误在于这一行:
if ((x % min) = 0)
你必须像这样使用==
:
if ((x % min) == 0)
sekond的错误是:变量min
未被人工化......
int x, a, b, c;
int min = 2;
x = Convert.ToInt32(tbx.Text);
a = x / 100;
b = (x / 10) % 10;
c = x % 10;
a = min;
if (b < min)
b = min;
if (c < min)
c = min;
if ((x % min) == 0)
lbl_solution.Text = "number is divisible";
else
lbl_solution.Text = "number is not divisible";
答案 2 :(得分:-1)
听起来问题就是那条线;
(x % min) = 0
x % min
返回int
值,而不是变量。例如,它将是5 = 0
;
这意味着在这种情况下你会得到2个编译时错误;
if
语句需要boolean expression)强烈怀疑您只想检查x
除以min
而没有任何提醒。如果是这样,您需要使用equality operator而不是assignment operator之类的;
if ((x % min) == 0)
C#编译器不允许您使用未初始化的变量。在您的情况下,您尝试使用a
和min
变量而不初始化它们。