作为学校的一部分,我的任务之一是编写10个代码,包含10种不同的搜索模式等。
对于这个,我需要使用线性搜索来查找已定义数组中的最高值和最低值,然后显示找到该值的次数。
这是我提出的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Maxvaluefinder
{
class Program
{
static void Main(string[] args)
{
var array = [1, 31, 10, 9, 420, -5, 77, 420, 300, 99]; //Sets up the array
var maxvalue = 0; //Establishes variables for maximum value and the counter of maximum value.
var maxvaluecount = 0;
for (i = 1; i < array.Length; i++)
{
if (array[i] > maxvalue)
{
maxvalue = array[i];
maxvaluecount = 1;
}
if (array[i] == maxvalue)
{
maxvaluecount = maxvaluecount + 1;
}
}
Console.WriteLine("The highest number in this array was" + maxvalue + "which appeared a total of" + maxvaluecount + "times."); // Prints the final outcome.
}
}
}
截至目前,我不是100%肯定“for(i = 1; i&lt; intArray.Length; i ++)” 部分工作,'i'位'在当前上下文中不存在
请帮帮忙?
另外,有些不相关:如何测试在microsoft visual studio中运行代码?
谢谢:)
答案 0 :(得分:1)
第一个问题:如果您只想在其中使用i
,则需要在for
圈内声明i
。否则,您需要在i
循环之前声明for
。
for (var i = 1; i < array.Length; i++)
这就是你创建新的int
数组
var array = new int[] { 1, 31, 10, 9, 420, -5, 77, 420, 300, 99};
第二个问题:转到VS,创建新的控制台项目,将代码粘贴到main
功能下并按F5
答案 1 :(得分:1)
您需要先声明变量才能使用它。试试:
for (int i = 1; i < array.Length; i++){...}
for循环的工作原理如下:
i < array.Length
i++
的最后一部分进行更新,这相当于i = i+1
另外,我不确定你是否知道这一点,但是在C#数组中是从零开始索引的,这意味着数组中的第一个元素实际上是索引零。所以你可能想要初始化:int i = 0