gpt4 book ai didi

c# - 如何分离不分离的输入C#

转载 作者:行者123 更新时间:2023-11-30 21:27:25 25 4
gpt4 key购买 nike

程序必须求和偶数奇数,然后将它们相乘

当我输入像 12345 这样的数字时,问题就来了。该数组采用 1 元素之类的数字,但为了使我的代码正常工作,当我像这样放置它时,它必须分隔输入 12345

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lab_Methods
{
class Program
{
static void Main(string[] args)
{
int[] number = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();

int even = 0;
int odd = 0;

for (int i = 0; i < number.Length; i++)
{

if (number[i] % 2 == 0)
{
even = even + number[i];
}
else
{
odd = odd + number[i];
}
}
Console.WriteLine(even * odd);
}

}
}

最佳答案

如果您想在 ' '拆分(空格),您的输入应使用定界符:“1 2 3 4 5”

   // Separated input like "1 2 3 45 6 789"
// we don't have to materialize into array
// let's be nice: allow tabulation as well as space,
// tolerate leading/trailing and double spaces: " 1 2 3 "
var numbers = Console
.ReadLine()
.Split(new char[] { ' ', '\t'}, StringSplitOptions.RemoveEmptyEntries) // let's be nice
.Select(item => int.Parse(item));

int even = 0;
int odd = 0;

foreach (var number in numbers) {
if (number % 2 != 0)
odd += number;
else
even += number;
}

Console.WriteLine(even * odd);

如果您想枚举单个数字内的数字(例如“12345”内)

   // Single number input like "12345678"
var numbers = Console
.ReadLine()
.Where(c => c >= '0' && c <= '9') // characters in '0'..'9' range
.Select(c => c - '0'); // corresponding ints

// Then as usual

int even = 0;
int odd = 0;

foreach (var number in numbers) {
if (number % 2 != 0)
odd += number;
else
even += number;
}

Console.WriteLine(even * odd);

关于c# - 如何分离不分离的输入C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57752472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com