Programming/C언어 백준 풀이
실습과제-1 배열에 관련된 프로그래밍
ImFe
2020. 4. 3. 15:47
배열에 관련된 코딩을 해야하는 과제이다.
1. 0 이전까지의 배열의 크기를 계산(배열의 갯수)
2. 배열변수들의 값의 합계, 그중 최소값, 그중 최대 값을 계산
#include<windows.h> //system사용을 위해서 사용(콘솔 바로꺼짐 방지)
#include<stdio.h>
int main()
{
int sum = 0; // 배열의 합을 저장할 변수
int max; // 배열의 최댓값을 저장할 변수
int min; // 배열의 최솟값을 저장할 변수
int number[12] = { 90,11,54,69,21,34,57,87,46,9,77,0 };
printf("배열변수에 저장된 %d개의 값\n", sizeof(number) / sizeof(int) - 1);
// 과제에서 0이전까지만 세기로 했으니까 -1해줌
max = number[0];
min = number[0];
for (int i = 0; i < sizeof(number) / sizeof(int)-1; i++)
// 12x4/4니까 12번 실행 근데 0은 안띄워야하니까 11번만 실행되어야함
// sizeof(number) = 배열이 12개 / sizeof(int) = int = 4byte
// 바로 위의 주석을 생각은 했는데 어떻게 해야할지를 모르겠었다.
// 선배님께 질문을 통해 i<sizeof(number)/sizeof(int) 부분에 -1을 붙여서 해결.
{
printf("%d ", number[i]);
}
printf("\n");
printf("\n");
printf("\n");
printf("\n"); //가독성을 위해 줄띄기
for (int k = 0; k < sizeof(number) / sizeof(int) - 1; k++)
//어짜피 마지막 배열이 0이여서 해줄필요는 없음
{
sum += number[k]; //배열의 합 구하기, 대입연산자 사용
}
printf("값의 합계 : %d\n", sum);
for (int p = 0; p < sizeof(number) / sizeof(int)-1 ; p++)
{
if (number[p] > max)
{
max = number[p];
}
if (number[p] < min)
{
min = number[p];
}
}
printf("최소 값 : %d\n", min);
printf("최대 값 : %d\n", max);
system("pause");
return 0;
}
배열에 관한 프로그래밍
1. 배열의 최대값, 최소값을 추출하기위해
max = number[0]
min = number[0]
을 해준부분이 인상깊었다.
2. for문에서 sizeof()를 이용해 조건식을 실행한부분이 인상깊었다