c# - 指定的数字是多少?一个数字中有多少个?

标签 c# digits

好吧,一开始,我是编程的新手。这是我的学校作业,我不能使用转换为字符串。只是如果、否则、为、同时。

输入时有数字和数字。

我知道如何获取数字中指定数字的数字,但我不知道如何找出其中有多少个数字。

假设我有号码 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/

相关文章:

c# - 如何在 C# 中使 Dropdownlist 只读

c# - 有哪些可能的设计来解决这个并发问题?

c# - 如何退出 "braced scope"?

java - 如何动态地将英语 "abc123 "数字转换为阿拉伯语 "ابث١٢٣ "android

c# - 这是启动匿名任务并继续 ui 线程的好方法吗?

matlab - 四舍五入到 n 位有效数字

algorithm - 按数字顺序对 N 个数字进行排序

javascript - 多位数计数器

machine-learning - 如何实现数字识别?

c# - 沟通 Java 和 C#