程序输出窗口用来对程序运行过程进行监控。
using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace a { class Program { static void Main(string[] args) { int[] textArray={4,7,4,2,7,3,7,8,3,9,1,9}; int[] maxValIndices; int maxVal= Maxima(textArray,out maxValIndices); Console.WriteLine("Maximum value {0} found at element indices:",maxVal); foreach(int index in maxValIndices) { Console.WriteLine(index); } Console.ReadKey(); } static int Maxima(int[] integers,out int[] indices) { Debug.WriteLine("Maximum value search started."); indices=new int[1]; int maxVal=integers[0]; indices[0]=0; int count=1; Debug.WriteLine("Maximum value initialized to"+maxVal+",at element index 0."); for (int i=1;i<integers.Length;i++) { Debug.WriteLine("Now looking at element at index"+i+"."); if(integers[i]>maxVal) { maxVal=integers[i]; count=1; indices=new int[1]; indices[0]=i; Debug.WriteLine("New maximum found. New value is"+maxVal+",at element index"+i+"."); } else { if(integers[i]==maxVal) { count++; int[] oldIndices=indices; indices=new int[count]; oldIndices.CopyTo(indices,0); Debug.WriteLine("Duplicate maximum found at element index"+i+"."); } } } Trace.WriteLine("Maximum value "+maxVal+"found,with"+count+"occurences."); Debug.WriteLine("Maximum value search completed."); return maxVal; } } }