단원:
5.입출력 다루기
6. 판단과 분기
7. 판단과 반복
[프로그래밍 연습 4.12] scanf함수를 사용하여 세개의 정수를 입력 받고, 다음결과를 출력하는 프로그램을 작성하시오.
(a) 세 수의 합
(b) 세 수의 평균
(c) 세 수중 최대값
(d) 세 수중 최소치
코드:
#include<stdio.h> main() { int x , y , z; int sum, max, min; float avg; float max_xy, max_yz, min_xy, min_yz; scanf("%d %d %d",&x,&y,&z); sum = x + y + z; avg = (int)sum / 3; max_xy = (x > y) ? x : y; max_yz = (y > z) ? y : z; max = (max_xy > max_yz) ? max_xy : max_yz; min_xy = (x > y) ? y : x; min_yz = (y > z) ? z : y; min = (min_xy > min_yz) ? min_yz : min_xy; printf("sum=%d, avg=%f, max=%d, min=%d", sum, avg, max, min); } |
[프로그래밍 연습 4.13]아래의 그림처럼 15도 간격으로 0도에서 180도까지 sin 과 cos 함수의 값을 표로 출력하는 프로그램을 작성하시오.
코드:
#include<stdio.h> #include<math.h> #define PI 3.141592 main() { float sine, cosine, angle; double radian; angle = 0; printf("--------------------------------------------------------------\n"); printf("x(도) \t sin(x) \t cos(x)\n"); printf("--------------------------------------------------------------\n"); for (angle = 0; angle <= 180; angle = angle + 15) { radian = (angle*PI) / (float)180; (float)sine = sin(radian); (float)cosine = cos(radian); printf("%f \t %f \t %f\n", angle, sine, cosine); } printf("--------------------------------------------------------------\n"); } |
[프로그래밍 연습 5.5]사용자에게 두 자리 수 두개를 입력받고, 이 두수의 곱셈과정을 다음과 같이 보여주는 프로그램을 작성하시오.
코드:
#include<stdio.h> main() { int x, y; int multi_1, multi_2, digit_10, digit_1, answer_10, answer_1, finalanswer; scanf("%d %d", &x, &y); digit_10 = y / 10; digit_1 = y % 10; answer_10 = x*digit_10; answer_1 = x*digit_1; finalanswer = x*y; printf(">첫번째 두자리수: %d\n>두번째 두자리수: %d\n",x, y); printf("\t %d\n\tx%d\n-------------\n", x, y); printf("\t %d\n\t%d\n", answer_1, answer_10); printf("------------------------"); printf("\n\t%d\n", finalanswer); } |
[프로그래밍 연습 6.10]이차방정식 ax^2+bx+c=0의 계수 a,b,c를 입력받아 실수근을 출력하는 프로그램을 작성하라.
코드:
#include<stdio.h> #include<math.h> main() { float a, b, c; float discriminant=-1,root1,root2; while (discriminant < 0) { printf("type 2nd order eqauation's coefficient a,b,c\n"); scanf("%f%f%f", &a, &b, &c); discriminant = (b*b) - (4 * a*c); if (discriminant < 0) { printf("this equation has complex root\n"); } } root1 = (((-1*b) + sqrt(discriminant)) / (2 * a)); root2 = (((-1*b) - sqrt(discriminant)) / (2 * a)); printf("first root=%.3f second root=%.3f\n", root1, root2); } |
[프로그래밍 연습 7.12]다음과 같은 순서로 정수를 출력하기위한 for문을 작성하시오.
(a)1,2,4,8,16,32
#include<stdio.h> #include<math.h> main() { int i = 0, x; for (i = 0; i < 6; i=i+1) { x = pow(2,i); printf("%d,", x); } } |
(b)1,3,9,27,81,243
#include<stdio.h> #include<math.h> main() { int i = 0, x; for (i = 0; i < 6; i=i+1) { x = pow(3,i); printf("%d,", x); } } |
(c)-4, -2, 0, 2, 4
#include<stdio.h> main() { int i = 0, x=-4; for (i = 0; i < 5; i=i+1) { x = x + 2 * i; printf("%d ", x); x = -4; } } |
(d)-10, -12, -14, -18, -26, -42
#include<stdio.h> main() { int i = 0, a_2, a_1; a_2 = -10; for (i = 0; i < 5; i=i+1) { printf("%d ", a_2); if(a_2 == -10) { a_2 = -12; printf("%d ", a_2); } a_1 = a_2; a_2 = 2 * a_1 + 10; } } |
[교수님 자체제작?]어떤 정수 m의 m!은 1부터 m까지의 연속된 정수를 곱한 것이다. m을입력 받아 팩토리알을 계산하고 일를 출력하는 프로그램을 작성하시오.
코드:
#include<stdio.h> main() { int m, n, f, exp; do { scanf("%d", &m); f = m; if (m < 0) { printf("type positive integer\n"); } } while (m < 0); if (m == 0) f = 1; } else { for (n = 1; n < m; ++n) f = f*(m - n); } printf("%d!=%d\n",m, f); } |
[교수님 자체제작?]하나의 정수를 입력 받아서 이 정수와 같은 값의 이진수를 출력하는 프로그램을 작성하시오.
#include<stdio.h> main() { int decimal, i, minus = 0; int binary[100]; printf("decimal number: \n"); scanf("%d", &decimal); if (decimal < 0) decimal = (-1)*decimal; minus = 1; for (i = 1; i <= 100; i++) { binary[100 - i] = decimal % 2; decimal = decimal / 2; if (decimal == 0) break; } printf("binary number: \n"); if (minus == 1) printf("-"); for (; i >= 1; i--) { printf("%d", binary[100 - i]); } printf("\n"); } |
문제 소스
책정보, ANSI C 프로그래밍 : 네이버 책 (naver.com)
ANSI C 프로그래밍
책으로 만나는 새로운 세상
book.naver.com
'프로그래밍 > C,C++' 카테고리의 다른 글
[명품 C++ programming]2,3장 실습문제 (0) | 2022.01.06 |
---|---|
[ANSI C 프로그래밍]13장 프로그래밍 연습 (0) | 2022.01.06 |
[ANSI C 프로그래밍]10장 프로그래밍 연습 (0) | 2022.01.06 |
[ANSI C 프로그래밍]8,9장 프로그래밍 연습 (0) | 2022.01.06 |
[ANSI C 프로그래밍]2,3,4장 프로그래밍 연습 (0) | 2022.01.06 |