C언어 배열을 사용해서 최대.최소값, 총점, 평균 구하기
2018. 9. 29. 21:17ㆍ개발노트
배열을 사용하기 전에 배열을 먼저 만들어줍시다.
5개의 수만 입력 받을꺼라
int num[5]; 이라고 배열을 만들어 줬습니다.
총점과 평균을 구하려면 모든 값의 합이 들어있는 변수가 필요합니다.
int temp = 0; 이라고 변수를 만들었습니다.
int i는 for문을 돌리기 위해 필요합니다.
그리고 최대값과 최소값을 구하려면
int min , int max 가 필요한데
배열값과 직접 비교해주기 때문에 아래와 같이 값을 넣어줍니다.
int max = num[0];
int min= num[0];
이렇게 해도 상관없다고 하는데..
최소값을 구하는데 오류가 생겨서
int max = num[0];
int min = 10;
이렇게 변수를 만들었습니다.
max 값도 배열말고 정수로 정의해도 값은 잘 나옵니다.
유효점수는 배열에서 최소값과 최대값을 제외한 수를 출력합니다.
1 2 3 4 5 6 7 8 | for (i = 0; i < 5; i++) { if (max == num[i] || min == num[i]) { printf(""); } else { printf("유효점수 %d \n", num[i]); } } | cs |
이렇게 하면 제외된 수들만 출력됩니다.
전체 소스코드
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 32 33 34 35 36 37 38 | #include<stdio.h> int main() { int num[5]; int temp = 0; //임의로 MAX값 넣을 공간 int i; //FOR문 증가값 int max = num[0]; int min = 10; // 정수를 돌아가면서 num[]에 넣는다 for (i = 0; i<5; i++) { printf("%d 번째 값을 입력하세요: ", i + 1); scanf_s("%d", &num[i]); //입력 받아서 num[i]에 넣는다 temp += num[i]; //총점과 평균을 구하기 위해 temp에 모든 값 더하기 if (max < num[i]) { max = num[i]; } if (min > num[i]) { min = num[i]; } } printf("최대값은 %d 최소값은 %d 입니다. \n", max, min); for (i = 0; i < 5; i++) { if (max == num[i] || min == num[i]) { printf(""); } else { printf("유효점수 %d \n", num[i]); } } printf("총점 %d 평균 %d", temp, temp / i); return 0; } | cs |