C# 数一数不能被2,3,5整除的数字

C# 数一数不能被2,3,5整除的数字,c#,math,C#,Math,在我的程序中,我认为我的count变量没有保存该值。我该怎么做才能让它保持住?这是我的密码 static void Main(string[] args) { double a; double count = 0; Console.WriteLine("Enter the Numbers : "); for (double i = 1; i <= 10; i++) { a = C

在我的程序中,我认为我的count变量没有保存该值。我该怎么做才能让它保持住?这是我的密码

static void Main(string[] args)
    {
        double a;
        double count = 0;
        Console.WriteLine("Enter the Numbers : ");
        for (double i = 1; i <= 10; i++)
        {
            a = Convert.ToDouble(Console.ReadLine());
            if (a % 2 != 0 || a % 3 != 0 || a % 5 != 0)
            {
                count = count++;
            }
            //else
            //{

           // }
            Console.ReadLine();
        }
        Console.WriteLine("The Numbers That Are divisible by 2,3,5 are : " + count);
        Console.ReadLine();


    }
static void Main(字符串[]args)
{
双a;
重复计数=0;
Console.WriteLine(“输入数字:”);

对于(双i=1;i您的错误是行
count=count++;
。这不会将
count
增加1。您只需使用
count++;


表达式
count++
count
的值增加1,然后将原始值count作为表达式的值返回。在这种情况下,
count++
的增加发生在赋值之前,因此
count
首先增加1,但随后分配
count++
的值>,即原始值,再次计数,因此它不会增加。

您的程序列出的数字不能被这些数字中的任何一个整除。如果要计算不能被所有数字整除的数字,则需要使用
If(a%2!=0&&a%3!=0&&a%5!=0)
相反。如果可能的话,我还建议使用整数而不是双精度

最后,您的print语句表示可被2,3,5整除的数字,但count是不可被这些数字整除的数字


编辑:你每次测试都要输入10个数字吗?我不确定如果你输入一个空白,你会得到什么样的结果。

为了不增加jk和David Kanarek在他们的答案中所说的内容或其他人对这些答案的评论,正如jk所指出的,使用count+1而不是count++,还有一些注意事项:

1) 在循环中使用console.Readline()两次,因此用户将输入20个输入,但只读取10个

2) 对于安东的评论,在你的if从句中,如果你使用| |你试图抓住任何一个条件为真的话,那么再多考虑一下,换句话说:

 // a=2

  if (a % 2 != 0 || a % 3 != 0 || a % 5 != 0) // False || True || True = True 
        {
            count = count + 1 ;// count will increase
        }
另一方面,使用&&:

 // a=2

  if (a % 2 != 0 &&  a % 3 != 0 &&  a % 5 != 0) // False && True && True = false
        {
            count = count + 1 ; //count will not increase
        }

“我认为我的计数变量没有保存该值”.你说得对!你需要2,3,5个数字来整除还是不整除?如果你还没有解决这个问题,请发布当前代码,并对你试图完成的任务进行更清晰的解释。我也尝试了count++…但这里的相同响应是count=count++行为实际上是未定义的(该行中没有序列点),但这是问题所在。请使用
count++;
count=count+1;
。通常首选前者。此程序也会停止在a=Convert.ToInt32(Console.ReadLine()上)“戴维”:“计数=C+++i”;调用C和C++中的未定义行为,但C语言中的行为定义良好。如果我错了请纠正我。Prasoon是正确的;这在C语言中是很好定义的。如果这个主题对你感兴趣,我写了一篇文章:我使用和运算符。但是我不同意。在尝试并将其更改为或..顺便说一句,&&或| | | |的效果在这里不一样??不,使用| |返回不可被2整除、不可被3整除或不可被5整除的数字计数。(例如:2、3或5…明白他的观点吗?)使用&&将计算所有不可被2整除、不可被3整除和不可被5整除的数字。(例如:7)