好吧,一开始,我是编程的新手。这是我的学校作业,我不能使用转换为字符串。只是如果、否则、为、同时。
输入时有数字和数字。
我知道如何获取数字中指定数字的数字,但我不知道如何找出其中有多少个数字。
假设我有号码 123 467(它必须小于 999 999),我想要第三个号码。我知道它大于 100 000,所以我计算一下 - (int) 123 467/100 = 123,然后 123%10 = 3。现在我需要知道数字中是否还有 3 - 但这里是点 - 我不确定应该使用什么周期。
我还必须创建一些代码来确定数字有多大(大于 100/1000/10000/...)。
我并不要求完整的解决方案,但我们将不胜感激。即使是伪语言。
当前代码(几乎没有):
double digit, number;
try
{
digit = Convert.ToInt32(poledigit.Text);
number = Convert.ToInt32(polenumber.Text);
}
catch
{
MessageBox.Show("Zadejte číslo ve správném formátu");
return;
}
if (digit > 6 & number > 999999)
{
MessageBox.Show("Číslo musí být menší než 999 999 a digit musí být menší než 6.");
return;
}
while(number >= 100000)
{
number /= Math.Pow(10, digit);
number %= 10;
}
最佳答案
我将创建一个 int 数组来计算位数
int[] digitCount = new int[10]; // Range: digitCount[0..9]
然后逐一确定数字,消除最后一位,直到数字为零。该循环将重复以下代码:
int digit = number % 10;
number /= 10;
digitCount[digit]++;
现在digitCount
包含每个数字的计数
int countOfDigit3 = digitCount[3];
如果不能使用数组,则仅计算所需数字的出现次数
int digit = ...;
int digitCount = 0;
while (number != 0) {
int d = number % 10;
number /= 10;
if (d == digit) {
digitCount++;
}
}
关于c# - 指定的数字是多少?一个数字中有多少个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22737367/