-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 7주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 10. 12. 17:28반응형
CHAPTER 8 프로그램 + 연습문제
p.354 프로그램 8-17
notebook 배열과 pen 배열 값을 직접 입력 받을 수 있도록 만들기
#include <stdio.h> #define N 4 double compute_avg(int arr[]); int main() { int notebook[N], pen[N]; double average; printf("notebook 배열 입력: "); for (int i = 0; i < N; i++) scanf_s("%d", ¬ebook[i]); printf("pen 배열 입력: "); for (int i = 0; i < N; i++) scanf_s("%d", &pen[i]); average = compute_avg(notebook); printf("노트 평균 판매수: %.1lf \n", average); average = compute_avg(pen); printf("펜 평균 판매수: %.1lf \n", average); return 0; } double compute_avg(int arr[]) { int i, sum = 0; for (i = 0; i < N; i++) sum += arr[i]; return (double)sum / N; }
연습문제 1
#include <stdio.h> #define N 30 void print_title(); int frequency(int arr[N], int value); //<= 여기 int main() //<= 여기 { int result[N] = { 1,3,2,5,3,2,1,2,3,4,5,2,3,3,2, 1,4,5,2,3,5,1,3,4,2,3,1,4,2,3 }; int count, i, target; printf("개수를 구하고 싶은 값은(1~5)?"); scanf_s("%d", &target); print_title(); //<= 여기 count = frequency(result, target); //<= 여기 printf("배열에는 %d가 %d개 있습니다.\n", target, count); return 0; } void print_title() { printf("============================================================\n"); printf("배열에 특정 값이 몇 개 포함되어 있는지 찾는 프로그램\n"); printf("============================================================\n"); } int frequency(int arr[N], int value) //<= 여기 { int i, count = 0; for (i = 0; i < N; i++) if (arr[i] == value) count++; return count; //<= 여기 }
1. frequency 함수 원형을 선언함
2. return 0;이므로 void main()을 int main()으로 수정
3. print_title을 print_title()로 수정
4. 배열을 통째로 가져가야하므로 result[N]을 result로 변경해줌
5. value를 int value로 수정함
6. int함수인데 return이 없으므로 return count;를 추가해줌
연습문제 6
#include <stdio.h> #define SIZE 5 int find_min(int arr[]); void print_arr(int arr[]); int idx; int main() { int f[SIZE] = { 3,0,-30,-20,-1 }; int min; min= find_min(f); printf("어는 점 목록:"); print_arr(f); printf("\n가장 낮은 어는 점: f[%d]=%d \n", idx,min); return 0; } int find_min(int arr[]) { int i, min; min = arr[0]; for (i = 0; i < SIZE; i++) if (arr[i] < min) { min = arr[i]; idx = i; } return min; } void print_arr(int arr[]) { int i; for (i = 0; i < SIZE; i++) printf("%4d", arr[i]); }
연습문제 9
#include <stdio.h> #define N 9 #define SWAP(x,y) (x=x^y, y=x^y, x=x^y) int rank(int arr[], int val); int main() { int class[N] = { 10,8,7,9,6,10,9,8,7 }, my_score, ans; printf("사용자의 점수를 입력하세요.: "); scanf_s("%d", &my_score); ans = rank(class, my_score); printf("\n사용자의 등수는 %d등입니다.", ans); return 0; } int rank(int arr[], int val) { int count=0; for(int i=0; i<9; i++) for (int j = i + 1; j < 9; j++) if (arr[j] > arr[i]) SWAP(arr[j], arr[i]); for (int i = 0; i < 9; i++) { if (arr[i] == val) return ++count; else count++; } }
연습문제 13
#include <stdio.h> void to_binary(int n) { if (n == 0) return; else { to_binary(n / 2); printf("%d", n % 2); } } int main() { int num; printf("Enter a positive interger. \n"); scanf_s("%d", &num); to_binary(num); return 0; }
반응형'학교 수업 > 1-1, 1-2 코딩 기초 (파이썬, C)' 카테고리의 다른 글
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 10주차 (0) 2020.11.03 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 8주차 (0) 2020.10.19 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 6주차 (0) 2020.10.05 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 5주차 (1) 2020.09.28 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 4주차 (0) 2020.09.21