-
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 5주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 9. 28. 16:46반응형
CHAPTER 6, 7 연습문제
챕터 6 6번
#include <stdio.h> #define MAX1(x,y,z) (((x)>(y))? (((x)>(z))? (x):(z)):(((y)>(z))? (y):(z))) #define MAX2(x,y,z) (((x=(x>y)? x:y) > z)? x : z) int main() { int x, y, z; printf("세 개의 수:"); scanf_s("%d %d %d", &x, &y, &z); printf("가장 큰 수:%d", MAX2(x, y, z)); return 0; }
챕터 6 7번
#include <stdio.h> #define SQ(x) ((x)*(x)) int main() { int n, ans = 0; printf("n의 값을 입력하세요.:"); scanf_s("%d", &n); for (int i = 1; i <= n; i++) { if (i == 1)printf("%d²", i); else printf("+%d²", i); ans += SQ(i); } printf("=%d\n", ans); return 0; }
챕터6 9번
#include <stdio.h> #define SWAP1(x,y,t) ((t)=(x), (x)=(y),(y)=(t)) #define SWAP2(x, y) ((x)=(x^y),(y)=(y^x),(x)=(x^y)) int main() { int x, y, t; printf("두 수 입력:"); scanf_s("%d %d", &x, &y); SWAP1(x, y, t); printf("%d %d", x, y); return 0; }
챕터7 7번
#include <stdio.h> #define M 2 #define N 3 int main() { int A[M][N], B[M][N], C[M][N]; int i, j; printf("\n행렬 A 입력\n"); for(i=0;i<M;i++) for (j = 0; j < N; j++) { printf("%d행 %d열? ", i + 1, j + 1); scanf_s("%d", &A[i][j]); } printf("\n행렬 B 입력\n"); for (i = 0; i < M; i++) for (j = 0; j < N; j++) { printf("%d행 %d열? ", i + 1, j + 1); scanf_s("%d", &B[i][j]); } for (i = 0; i < M; i++) for (j = 0; j < N; j++) C[i][j] = A[i][j] + B[i][j]; printf("\n행렬 A + 행렬 B = 행렬 C\n"); for (i = 0; i < 2; i++) { printf("[ "); for (j = 0; j < 3; j++) { printf("%d ", A[i][j]); } printf("] "); printf("[ "); for (j = 0; j < 3; j++) { printf("%d ", B[i][j]); } printf("] "); printf("[ "); for (j = 0; j < 3; j++) { printf("%d ", C[i][j]); } printf("]\n"); } return 0; }
문제 1
5명의 시험 점수를 입력하고 배열에 저장하고 모아서 출력하는 프로그램을 작성하시오
#include <stdio.h> int main() { int x; int count[5] = { 0 }; printf("5명의 점수를 입력하세요.\n"); for (int i = 0; i < 5; i++) { scanf_s("%d", &x); count[i] = x; printf("%d번째 사람의 점수는 %d점입니다.\n", i + 1, x); } return 0; }
문제 2
매크로(define)을 이용하여 n명의 시험 점수를 출력해보시오.
#include <stdio.h> #define NUM 5 int main() { int count[5] = { 100, 80, 20, 50, 10 }; for (int i = 0; i < NUM; i++) { printf("%d번째 사람의 점수는 %d점 입니다.\n",i+1,count[i]); } return 0; }
문제 3
키보드로 5명의 시험점수를 입력하고, 버블정렬을 이용하여 최고 점수를 출력하는 코드를 작성하시오.
#include <stdio.h> #define SWAP(x,y) (x=x^y, y=y^x, x=x^y) int main() { int x; int count[5] = { 0 }; for (int i = 0; i < 5; i++) { scanf_s("%d", &x); count[i] = x; } for (int i = 0; i < 5; i++) for (int j = 0; j < i; j++) { if (count[i] < count[j]) SWAP(count[i], count[j]); } printf("%d", count[4]); return 0; }
반응형'학교 수업 > 1-1, 1-2 코딩 기초 (파이썬, C)' 카테고리의 다른 글
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 7주차 (0) 2020.10.12 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 6주차 (0) 2020.10.05 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 4주차 (0) 2020.09.21 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 3주차 (0) 2020.09.14 [C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 2주차 (0) 2020.09.08