티스토리 뷰
전역변수
scores 배열의 크기인 3을 N이라는 전역변수로 선언해주었다.
이 변수가 고정된 값(상수)라면 앞에 const를 붙여준다.
관습적으로 전역변수는 대문자를 쓴다.
#include <cs50.h>
#include <stdio.h>
const int N = 3;
int main(void)
{
// 점수 배열 선언 및 값 저장
int scores[N];
scores[0] = 72;
scores[1] = 73;
scores[2] = 33;
// 평균 점수 출력
printf("Average: %i\n", (scores[0] + scores[1] + scores[2]) / N);
}
배열의 동적 선언 및 저장
배열의 크기와 배열의 인덱스 값을 사용자로부터 동적으로 입력받아 저장한다.
#include <cs50.h>
#include <stdio.h>
float average(int length, int array[]);
int main(void)
{
// 사용자로부터 점수의 갯수 입력
int n = get_int("Scores: ");
// 점수 배열 선언 및 사용자로부터 값 입력
int scores[n];
for (int i = 0; i < n; i++)
{
scores[i] = get_int("Score %i: ", i + 1);
}
// 평균 출력
printf("Average: %.1f\n", average(n, scores));
}
//평균을 계산하는 함수
float average(int length, int array[])
{
int sum = 0;
for (int i = 0; i < length; i++)
{
sum += array[i];
}
return (float) sum / (float) length;
}
코드설명------
-get_int를 통해서 사용자로부터 점수의 개수를 입력받는다.
-n을 scores의 크기에 할당하고 n만큼 for문을 돌린다.
-for문 안에서 사용자의 점수를 입력받아 scores 배열의 인덱스 값에 넣는다.
-average 함수에 n과 scores 배열을 인자로 넘겨주고, 각각 length와 array[]로 받는다.
인자로 배열을 가져올 때는 'array[]'와 같이 대괄호를 써준다.
-sum에 0을 할당하고 for문을 length만큼 돌리면서 배열의 값들을 다 더해서 sum에 넣는다.
-그 다음, sum / length를 한 값(평균값)을 return한다.
-printf함수에서 return값을 받아서 출력한다.
'부스트코스 > 3. 배열' 카테고리의 다른 글
[CS50] 3.6 문자열과 배열(2) (0) | 2021.01.23 |
---|---|
[CS50] 3.5 문자열과 배열(1) (0) | 2021.01.23 |
[CS50] 3.3 배열(1) (0) | 2021.01.23 |
[CS50] 3.2 디버깅 (0) | 2021.01.23 |
[CS50] 3.1 컴파일링 (0) | 2021.01.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 연결리스트
- 동기처리
- 선형검색
- 구조체
- form
- CSSOM
- 포인터
- overflow
- 구조분해할당
- 문자열
- malloc
- CSS
- 폼
- HTML
- float
- Typography
- pseudo
- 비구조화할당
- 프로젝트
- sr-only
- intersectionObserver
- 함수
- RenderTree
- capturing
- vanillajs
- 선택자
- valgrind
- Big Ω
- 이벤트위임
- Dom
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함