다른 C# 질문으로 돌아 가기.배열에서 가장 낮은 수를 출력하는 방법 (이 작업을 올바르게 수행하는지 확인하는 방법)
문제 정의 :
여기 내 현재 작업의 컴퓨터 프로그램은 고객이 주차 매일 시간을 읽을 필요합니다. 데이터 파일 'hours.txt'에 저장된 고객의 주차 시간 (정수)에 대한 30 개의 항목이 있습니다. 파일을 읽고 배열에 데이터를 저장해야합니다. 일일 주차 시간의 최고, 최저 및 평균을 계산하십시오.
샘플 데이터 : 30 주차 시간 {8, 24, 9, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8, 8, 9, 7, 9, 15 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8}
최고 주차 시간 = 24
최저 주차 시간 = 1
보통 주차 시간 = 9.13
전체 작업 :,451,515,최대치 찾기 데이터 형식 정수
배열로 데이터 파일 'hours.txt'를 읽어
찾기 최저값
평균
출력을 시간들의 어레이를 계산, 최대, 최소 및 평균 (소수점 이하 2 자리)
참고 : "파일"이라는 주제는 세션 6까지 다루지 않으므로 지금은 다음과 같이 숫자를 지정하십시오. int [] hoursArray = {8, 24, 9, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8, 8, 9, 7, 9, 15 , 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8}; 세션 6에서 hours.txt 파일에서 데이터를 읽을 수 있도록 코드를 수정해야합니다.
그래서 나는 입력 한 시간의 평균, 최고, 최저를 뱉어내는 프로그램을 실행해야합니다. 그것은 텍스트 파일의 데이터를 사용하는 것을 말하지만 더 아래쪽은 다른 주제를위한 것이라고 말하므로 그렇게하지 않았습니다. 대신, 나는 수동으로 30 자리를 입력하는 것을 선택했다. I 가정하는 첫번째 질문가있다
바로, 또는 방법이 있다는 것을 이용
INT [] hoursArray = {8, 24, 9, 7, 6, 12, 10, 11 23, 1, 2, 9, 8, 8, 9, 7, 9, 15, 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8};
데이터는 사용자가 직접 입력하지 않아도 자동으로 입력됩니까? 내가 그 일을 올바르게 읽고 있는지 잘 모르겠다.
두 번째 질문은 내가 한 코드입니다. 나는 평균과 최고 값을 성공적으로 출력 할 수 있지만, 8보다 낮은 값 (즉, 거기에 1의 값)을 출력 할 수있는 것 같지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
내 코드 : 간단하게
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IntsArray
{
class Program
{
static void Main(string[] args)
{
int[] hours;
hours = new int[30];
int[] hoursArray = { 8, 24, 9, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8, 8, 9, 7, 9, 15, 6, 1, 7, 6, 12, 10, 11, 23, 1, 2, 9, 8 };
hours[0] = 8;
hours[1] = 24;
hours[2] = 9;
hours[3] = 7;
hours[4] = 6;
hours[5] = 12;
hours[6] = 10;
hours[7] = 11;
hours[8] = 23;
hours[9] = 1;
hours[10] = 2;
hours[11] = 9;
hours[12] = 8;
hours[13] = 8;
hours[14] = 9;
hours[15] = 7;
hours[16] = 9;
hours[17] = 15;
hours[18] = 6;
hours[19] = 1;
hours[20] = 7;
hours[21] = 6;
hours[22] = 12;
hours[23] = 10;
hours[24] = 11;
hours[25] = 23;
hours[26] = 1;
hours[27] = 2;
hours[28] = 9;
hours[29] = 8;
for (int index = 0; index < hours.Length; index++)
{
Console.Write("Enter your hours: ");
hours[index] = int.Parse(Console.ReadLine());
}
int total = 0;
double average = 0;
for (int index = 0; index < hours.Length; index++)
{
total = total + hours[index];
}
average = (double)total/hours.Length;
Console.WriteLine("Average = " + average.ToString("N2"));
int high = hours[0];
for (int index = 1; index < hours.Length; index++)
{
if (hours[index] > high)
{
high = hours[index];
}
}
Console.WriteLine("Highest number = " + high);
int low = hours[0];
for (int index = 0; index > hours.Length; index++)
{
if (hours[index] < low)
{
low = hours[index];
}
}
Console.WriteLine("Lowest number = " + low);
Console.ReadKey();
}
}
}
의 코드 조각 다음 가장 낮은 번호 변경을 얻기 위해 미리 :)
1 무엇) 분() 최대 (약 및 average() 메소드 –
낮은 숫자를 얻으려면, 루프 조건'index> hours.length'을 index
@ 운이 좋다면 최소한으로 작동했습니다. 정말 고마워요! 제 첫 질문에 대한 모든 의견은 기회 당하나요? – purplemonkeydishwasher