-
4.7 C언어_수식과 연산자 실습문제C언어, 2022/4장_수식과 연산자 2022. 6. 23. 01:244장 수식과 연산자-실습문제-20180320.pdf0.10MB
[ 문제 1 ] 0~99999사이의 정수를 입력 받아 각 자리를 분리하여 출력하는 프로그램을 작성하시오. (만=TTHO, 천=THO, 백=HUN, 십=TEN)
- □는 빈칸 한 칸 띄우기를 의미한다.key's note :
#include<stdio.h> int main(){ int num; scanf("%d", &num); printf("%dTTHO %dTHO %dHUN %dTEN %d\n", num/10000, (num%10000)/1000, (num%1000)/100, (num%100)/10, num%10); return 0; }
[ 문제 2 ] 양의 정수를 입력 받아 시:분:초 형태로 출력하는 프로그램을 작성하시오.
- 나눗셈 연산자 (/)와 나머지 연산자 (%)를 활용한다.key's note :
#include<stdio.h> int main(){ int time; scanf("%d", &time); printf("%d:%d:%d\n", time/(60*60), (time%(60*60))/60, time%60); return 0; }
- 응용 : 분과 초는 항상 두 자리 수로 출력하도록 수정하시오.
( OJ 문제는 아니지만 각자 완성해보시오 )[ 문제 3 ] 10000~99999사이의 양의 정수 N을 입력 받은 후, 100의 자리의 값을 출력하는 프로그램을 작성하시오.
key's note :
#include<stdio.h> int main(){ int num; scanf("%d", &num); printf("%d\n", (num%1000)/100); return 0; }
[ 문제 4 ] 10000~99999사이의 양의 정수 N을 입력 받은 후, 100의 자리에서 반올림 한 값을 출력하는 프로그램을 작성하시오.
key's note :
#include<stdio.h> int main(){ int N; scanf("%d", &N); double num; num = N / 1000.0; num = num + 0.5; int result; result = (int)num; result = result * 1000; printf("%d\n", result); return 0; }
[ 문제 5 ] 원의 둘레 실수 N을 입력 받아 원의 넓이를 구하고 소수 첫째 자리에서 반올림 한 값을 출력하는 프로그램을 작성하시오.
- 원주율은 3.14로 계산한다.key's note :
#include<stdio.h> int main(){ double N; scanf("%lf", &N); double pi = 3.14; double area; area = pi * (N/(2*pi)) * (N/(2*pi)) + 0.5; int result; result = (int)area; printf("%d\n", result); return 0; }
[ 문제 6 ] 정수 N을 입력 받아 N이 20~30사이(20과 30포함)의 정수이면 1을 출력하고그렇지 않으면 0을 출력하는 프로그램을 작성하시오.
- 논리연산과 관계연산의 결과가 참이면 1이 되고 거짓이면 0이 됨을 이용하시오.key's note :
#include<stdio.h> int main(){ int N; scanf("%d", &N); printf("%d\n", (N>=20 && N<=30)); return 0; }
[ 문제 7 ] 문자 한 개를 입력 받고 입력 받은 문자가 알파벳인지 아닌지 판단하는 프로그램을 작성하시오.
- 알파벳이면 1, 알파벳이 아니면 0을 출력하시오.key's note :
#include<stdio.h> int main(){ char text; scanf("%c", &text); printf("%d\n", ((text>='A') && (text<='Z')) || ((text>='a') && (text<='z'))); return 0; }
[ 문제 8 ] 양의 정수 N을 입력 받아 짝수면 “even”, 홀수면 “odd”를 출력하는 프로그램을 작성하시오.
- 조건 연산자 이용key's note :
#include<stdio.h> int main(){ int N; scanf("%d", &N); N%2 == 0 ? printf("even\n") : printf("odd\n"); return 0; }
[ 문제 9 ] 서로 다른 두 정수 N, M을 입력 받고, 그 중 더 큰 수를 출력하는 프로그램을 작성하시오.
- 입력 : 한 줄에 N, M이 순서대로 입력된다.
- 출력 : N과 M중 더 큰 수를 출력한다.key's note :
#include<stdio.h> int main(){ int N; int M; scanf("%d %d", &N, &M); printf("%d\n", N > M ? N : M); return 0; }
[ 문제 10 ] 서로 다른 두 양의 정수 N, M을 입력 받아 큰 수에서 작은 수를 나눈 몫과 나머지를 출력하는 프로그램을 작성하시오.
- 입력 : 한 줄에 N, M이 순서대로 입력된다.
- 출력 : 몫을 출력한 후 그 다음 줄에 나머지를 출력한다.key's note :
#include<stdio.h> int main(){ int N; int M; scanf("%d %d", &N, &M); int high; int low; high = N > M ? N : M; low = N < M ? N : M; printf("%d\n", high / low); printf("%d\n", high % low); return 0; }
'C언어, 2022 > 4장_수식과 연산자' 카테고리의 다른 글
4.6 C언어_연산자 우선순위와 결합수칙 (0) 2022.06.23 4.5 C언어_또 다른 연산자 (0) 2022.06.23 4.4 C언어_논리 연산자 (0) 2022.06.23 4.3 C언어_관계 연산자 (0) 2022.06.23 4.2 C언어_대입 연산자 (0) 2022.06.23