gpt4 book ai didi

c# - 在数组中找到两个数字,使得它们的总和等于用户给出的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:32 25 4
gpt4 key购买 nike

我知道这个问题在社区中被问过很多次。即使在使用 C# 库函数后,我的代码也无法正常工作,并且显示所有索引均不存在此类对。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test
{
class Program
{
static void Main(string[] args)
{
int i, nts, index1,index2;
Random rnd = new Random();
int[] numbers = new int[10];
for (i = 0; i < 10; i++)
numbers[i] = rnd.Next(200, 984);
Array.Sort(numbers);
for (i = 0; i < 10; i++)
{
Console.Write(numbers[i] + " ");

}
Console.WriteLine("\nEnter the sum to search\n");
nts = Console.Read();
for(index1=0;index1<numbers.Length;index1++)
{
index2 = Array.BinarySearch(numbers,(nts - numbers[index1]));
if (index2 < 0)
{
Console.WriteLine("No such pairs for " + index1);
continue;
}
else
{
Console.WriteLine("Numbers found" + numbers[index1] + "and" + numbers[index2]);
break;
}

}
Console.ReadKey();
}
}

最佳答案

你的算法解决问题没问题,问题出在读取数字上。所以你实际上找到了错误的值。

Console.Read()

从标准输入流中读取下一个字符。 (NTP 中的 ASCII 值)

nts = Convert.ToInt32(Console.ReadLine());

关于c# - 在数组中找到两个数字,使得它们的总和等于用户给出的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25589361/

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