我想在1到100之间找到可被5整除的位数,在C#窗体中,如何从这里开始?
int sum;
private void button2_Click(object sender, EventArgs e)
{
int[] intarray = new int[100];
for (int i = 0; i < 99; i++)
{
intarray[i] = i + 1;
}
foreach (int a in intarray)
{
if (a / 5 == 0)
{
}
}
}
答案 0 :(得分:3)
注意比a / 5 == 0
错误。例如,10可以被2整除,结果是10/5 = 2,不等于0。
if (a % 5 == 0)
{
//then a is divisible by 5. print or store it
}
模数运算符(也称为Remainder)返回整数除法的余数。
因此,完整答案:
int nInRange = 0;
foreach (int a in intarray)
if (a % 5 == 0)
nInRange++;
答案 1 :(得分:2)
也许这就是你想要的。
public static IEnumerable<int> GetIntsDivisible(int start, int finish, int divisor)
{
for (var i = start; i <= finish; i++)
if (i % divisor == 0)
yield return i;
}
public static void Main()
{
Console.WriteLine(string.Join(", ", GetIntsDivisible(1, 100, 5)));
}
或者如果你不想屈服
public static List<int> GetIntsDivisible(int start, int finish, int divisor)
{
var result = new List<int>();
for (var i = start; i <= finish; i++)
if (i % divisor == 0)
result.Add(i);
return result;
}
<强>输出强>
5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
答案 2 :(得分:1)
将变量初始化为0
例如Count = 0;
然后在if块中添加语句Count++
,如下所示:
if (a % 5 == 0)
{
Count++;
}
答案 3 :(得分:1)
由于问题在确切要求上有点模糊,我将编写基本逻辑,可以找到完全可被其他数字整除的数字。
有一种叫做模数(%)运算符的东西。它给你剩下的部分。 11%5将是1,13%5将是3,而15%5将是0
所以逻辑就像,
for(int i=0;i<=100;i++)
{
if((i%5)==0)
{
\\this is ur number
}
}
答案 4 :(得分:1)
每个人都在解决你的问题,但没有人谈论这个奇怪的尝试。 我真的认为你应该花5分钟阅读你的代码,因为你只是到处运行。
你应该先拿笔和纸,然后先进行编码。 这是对代码的简单阅读,以便您了解自己在做什么。
第1行:
s/orderNumber: \d\+\zs.*\zeorderID/ /
所以你开始赢得一个阵列,我想它的结果,对吧?你不会无缘无故地存储1到100的数字吗?
第2行:
int[] intarray = new int[100];
现在我们从0到98计数,虽然它是1到100的形式..是98,因为您使用的是for (int i = 0; i < 99; i++)
而不是<
第3行:
<=
为什么?第3行,你已经迷路了!您正在使用您只是迭代的数字填充数组。这就像用水填充瓶子,然后用它来填充另一瓶,因为你需要水。 如果你从1迭代到100,你可以检查它是否可以整除。
intarray[i] = i + 1;
第4行:
for (int i = 1; i <= 100; i++)
再次?我们从1回到100 ......
第5行:
foreach (int a in intarray)
如果这是假设它告诉你它是否可以分割错误。正确的数学运算符是Modulo。分区符号不会给你你期望的结果。
if (a / 5 == 0)
会给你真实的。其他任何东西都是假的。
答案 5 :(得分:0)
int count = 0;
for (int i = 1; i <= 100; i++)
{
if ((i % 5) == 0)
{
count++;
textBox1.Text = count.ToString();
}
}
可替换地,
int num =(100 + 5)/ 5 - (1 + 5 - 1)/ 5; //在这里显示结果