c# - 使用 c# 不使用 / 运算符将 2 整数相除。任何人都可以将其转换为 for 循环
问题描述
我可以要求删除这个问题吗?帮助我恢复我的帐户。谢谢
int[] numbers = { 200, 100, 50, 3, 1 };
int count = int.Parse(txtNumber.Text);
double number = 0;
double number1 = 0;
double number2 = 0;
double number3 = 0;
double number4 = 0;
if (count == 0)
{
MessageBox.Show("Can't Divide 0");
return;
}
while (count >= numbers[0])
{
count = count - numbers[0];
number++;
}
txt200.Text = number.ToString();
label1.Text = count.ToString();
while (decimal.Parse(label1.Text) >= numbers[1])
{
label1.Text = (int.Parse(label1.Text) - numbers[1]).ToString();
number1++;
}
txt100.Text = number1.ToString();
有人可以帮我投票删除吗?
解决方案
您可以使用空for
循环来执行此操作,其中所有操作都发生在循环的条件和迭代器中:
int result = 1;
for (int numCopy = numerator; numCopy > denominator; numCopy -= denominator, result++);
这是一个示例方法:
public static int Divide(int numerator, int denominator)
{
int result = 0;
for (; numerator >= denominator; numerator -= denominator, result++) ;
return result;
}
请注意,我在这里只使用整数。将字符串转换为整数,然后在循环内再次转换回字符串效率不高。现在我们可以转换Text
一次属性,将整数传递给我们的方法,然后转换一次结果。
这是一个示例用法(使用控制台应用程序):
static void Main()
{
int numerator = GetIntFromUser("Please enter the numerator: ");
int denominator = GetIntFromUser("Please enter the denominator: ");
int result = Divide(numerator, denominator);
Console.WriteLine($"{numerator} / {denominator} = {result}");
GetKeyFromUser("\nDone! Press any key to exit...");
}
输出
哦,这些是我正在使用的辅助方法:
private static int GetIntFromUser(string prompt)
{
int input;
do
{
Console.Write(prompt);
} while (!int.TryParse(Console.ReadLine(), out input));
return input;
}
private static ConsoleKeyInfo GetKeyFromUser(string prompt)
{
Console.Write(prompt);
var key = Console.ReadKey();
Console.WriteLine();
return key;
}
推荐阅读
- linux - 使用 GREP 在整个外显子组制表符分隔的文本文件中查找基因列表(大约 200 个)
- c# - 将 CosmosDB 提供程序用于 Entity Framework Core 和 Azure 表时出错
- javascript - 为什么firebase不部署放置在公共目录之外的文件?
- android - Android WorkManager PeriodicWorkRequest 执行问题
- java - java.lang.NoSuchMethodError:org.springframework.util.ReflectionUtils.accessibleConstructor
- docker - HaProxy 转发代理在 HTTP 上工作,但在 HTTPS 上给出 503
- android-studio - 如何在 Flutter 中仅为 OutlineButton 制作带下划线的边框
- laravel - 我如何修复 Illuminate\Database\Eloquent\Collection 类的错误对象无法转换为 int
- python - 带有 Flask 的 livereload.Server 在 Windows 中导致 NotImplementedError
- c# - WPF - MVVM - 如何更新propertychange的通知组合框