如何将字符串中的奇数位置相乘

时间:2019-03-18 19:15:36

标签: c#

我有一个数字为4353816274931243的字符串,我想将字符串中的每个奇数位置相乘。所以最后看起来应该像831031611221441832283。

我试图使用类似if的语句。

if(cijfer%2==0)
{ 
   cijfer = cijfer*2
}

但这只是查找字符串中的所有奇数并将它们相乘。 有人知道如何解决此问题的提示吗?

这是我已经拥有的代码的一部分。

string num;
int visanr, cijfer=0;

console.write("Enter visa number: ");
num=console.readline();
num = num.Replace(" ", "");

        visanr = num.Length;

        if (visanr==16)
        {
            for (int i = 0; i < visanr; i++)
            {
                string num1 = num.Substring(i, 1);
                cijfer = int.Parse(num1);

                if (cijfer%2==0)
                {
                    cijfer = cijfer * 2;
                }
            }
        }
        else
        {
            Console.Write("The visanumber " + num + " is not correct!");
        }

        Console.Read();

预先感谢

3 个答案:

答案 0 :(得分:0)

如果我理解正确,则cijfer是数字,因此,如果(cijfer%2 == 0)将找到所有偶数并将其相乘。

要找到所有奇怪的位置,我会建议类似的东西

for (int i = 0; i < visanr; i++)
{
    string num1 = num.Substring(i, 1);
    cijfer = int.Parse(num1);

    if (i%2==1)
    {
        cijfer = cijfer * 2;
    }
}

答案 1 :(得分:0)

请记住,字符串从索引0开始。因此,根据您的输入,您实际上想将偶数位置的数字相乘。

更改

if(cijfer%2==0)
{ 
   cijfer = cijfer*2
}

进入

if(i % 2 == 0)
{ 
   cijfer = cijfer*2
}

答案 2 :(得分:0)

.csv