Microsoft MVP성태의 닷넷 이야기
배열과 반복문에서 질문드립니다 [링크 복사], [링크+제목 복사],
조회: 18161
글쓴 사람
김대훈
홈페이지
첨부 파일
 

class Program
    {
        static void Main(string[] args)
        {
            int[] score = new int[] { 88, 92, 77, 89, 98, 36, 28, 90, 55 };
            int result = 0;
          
            for (int i = 0; i < score.Length; i++)
            {
                if(score[i] > 77)
                {
                    result = result + score[i];
                }
            }
        }
    }

배열에서 77이상인 숫자를 더하는 코드를 작성해봤습니다.

그런데 아무리 생각해봐도 77이상인 숫자의 갯수를 구하려면 어떻게 해야하는지 모르겠네요.(엑셀에서는 countif 하면 되는데 ㅠㅠ)

그리고 한가지 더 궁금한점이 있는데요 result 변수 선언함과 동시에 0으로 초기화했는데 꼭 초기화를 해줘야 하나요? 습관처럼 자꾸 0으로 초기화하네요 ㅎㅎ

너무 초보적인 질문이라 죄송합니다 ㅠㅠ









[최초 등록일: ]
[최종 수정일: 6/26/2019]


비밀번호

댓글 작성자
 



2019-06-26 08시57분
우선, 이런 경우 77을 포함하고 있지 않으므로 "이상"은 아니고 "초과"라고 표현하셔야 합니다. ^^

암튼, 숫자의 갯수를 구하려면 그냥 count 변수를 하나 두고 ++ 시키면 됩니다. 다음과 같이.

            int[] score = new int[] { 88, 92, 77, 89, 98, 36, 28, 90, 55 };
            int count = 0;

            for (int i = 0; i < score.Length; i++)
            {
                if (score[i] > 77)
                {
                    count++;
                }
            }

참고로 나중에 LINQ를 공부하시게 되면 다음과 같이 약식 표현으로 구하는 방법도 알게 됩니다.

int count = score.Count((elem) => elem > 77);

C#은 반드시 개발자가 변수에 대해 명시적인 값을 초기화하는 걸 권장합니다. 습관처럼 초기화하는 것이 좋습니다. ^^

초기화 관련해서는 다음의 글도 살짝 읽어보세요. ^^

닷넷 - 값 형식을 new 없이 생성하면 0으로 초기화되지 않는다?
; http://www.sysnet.pe.kr/2/0/10834

정성태
2019-06-26 12시53분
[김대훈] 와 코드를 보면 이리 간단한데 왜 생각을 못했는지 ㅠㅠ
초기화 관련글도 잘 읽어보겠습니다..
감사합니다^^
[guest]

... 76  77  78  79  80  81  82  83  84  85  86  [87]  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
288박찬용12/13/200512709질문 한개만 할께요.. 아시면 꼭 답변 부탁드려요 [1]
287꼬마마법...12/13/200513412안녕하세요..죄송합니다. 다시 한번 봐주시면.. 감사 드리겠습니다. [2]
286정준명12/12/200513116윈폼 관리(?)에 대한 고민. [1]
285꼬마마법사12/10/200511643안녕하세요.. [1]
284코디12/8/200512036[질문] 스마트클라이언트 다운로드중에...... [1]
283foot...12/7/200511560스마트 클라이언트 질문 입니다. ㅜㅜ [2]
279박상규12/6/200512368스마트 클라이언트에 관해 질문좀 드릴께요..
280정성태12/6/200512162    답변글 [답변]: 스마트 클라이언트에 관해 질문좀 드릴께요..
281박상규12/7/200513465        답변글 [답변]: [답변]: 스마트 클라이언트에 관해 질문좀 드릴께요.. [2]
282정성태12/7/200511828            답변글 [답변]: [답변]: [답변]: 스마트 클라이언트에 관해 질문좀 드릴께요..
276하수12/2/200511567스마트 클라이언트 프로그램을 만들려면.. [1]
271정준명11/20/200513814스마트클라이언트 구현에 대해서 조언을 듣고자 합니다. [5]
269상수11/18/200511948vs2005를 사용하고 있습니다. [1]
270상수11/18/200511509    답변글 [답변]: vs2005를 사용하고 있습니다. [1]파일 다운로드1
272상수11/21/200510964        답변글 [답변]: [답변]: ㅈㅅ여.. 인터넷이 사용이 안돼서리..dll을 치면 나타나는 현상 [1]
268상수11/17/200511105vs2005를 사용하고 있는데.. [1]
26711/16/200512638COM+ 의 활성화 상태... [1]
273정성태11/24/200511673    답변글 [답변]: COM+ 의 활성화 상태...
27411/25/200511603        답변글 답변 감사드립니다.
265하수11/14/2005114382개의 dll연결 해야 하는구문은 [1]
263하수11/11/200511384Smart Client(DB 연동에 질문영) [1]
260상수11/10/200512307Object등록시 에러 (Smart Client)
261정성태11/10/200512172    답변글 [답변]: Object등록시 에러 (Smart Client)
259바보스런...11/9/200511826스마트 질문좀 할께요. 죄송합니다.파일 다운로드1
262정성태11/10/200511697    답변글 [답변]: 스마트 질문좀 할께요. 죄송합니다. [1]
264Yuri11/11/200511219        답변글 [답변]: [답변]: 스마트 질문좀 할께요. 죄송합니다. [1]
... 76  77  78  79  80  81  82  83  84  85  86  [87]  88  89  90  ...