조건문 예제 프로그램 연습
1. 온도를 입력 받아 출력하는 프로그램을 작성하자. 단, 입력 받은 온도가 0도 미만이면 온도 출력시 "영하"를 덧붙여 출력하자. (if문 사용)
#include <stdio.h>
int main(void) {
int Temp;
scanf("%d", &Temp);
if(Temp < 0){
printf("오늘 온도는 영하 %d도 입니다.", Temp - Temp*2);
}
else{
printf("오늘 온도는 %d도 입니다.", Temp);
}
}
2. 입력한 정수가 음의 짝수, 음의 홀수, 양의 짝수, 양의 홀수인지를 판정하는 프로그램을 중첩된 if문을 사용하여 작성해보시오.
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
if(input % 2 == 0){
if(input < 0){
printf("입력 한 수는 음의 짝수 입니다.");
}
else{
printf("입력 한 수는 양의 짝수 입니다.");
}
}
else{
if(input < 0){
printf("입력 한 수는 음의 홀수 입니다.");
}
else{
printf("입력 한 수는 양의 홀수 입니다.");
}
}
}
3. 입력 받은 점수에 해당하는 학점을 출력하는 프로그램을 작성해보시오. (중첩 if문 사용)
#include <stdio.h>
int main(void) {
int score;
char grade;
printf("점수를 입력하시오 : ");
scanf("%d", &score);
if(score >= 90)
grade = 'A';
else if(score >= 80)
grade = 'B';
else if(score >= 70)
grade = 'C';
else if(score >= 60)
grade = 'D';
else
grade = 'F';
printf("학점 : %c\n", grade);
}
조건문 연습 문제 (택 3, 홀수/짝수 번 문제를 선택하여 풀이 할 것)
1. 연습문제 6
☞ 하나의 문자를 입력 받고, 입력 받은 문자를 알파벳 대문자, 알파벳 소문자, 숫자, 그 외의 문자들로 구별하는 프로그램을 if문을 이용 해 작성하시오.
#include <stdio.h>
int main(void) {
char input;
printf("문자 입력: ");
scanf("%c", &input);
if(input >= 'A' && input <= 'Z'){
printf("알파벳 대문자 입니다.");
}
else if(input >= 'a' && input <= 'z'){
printf("알파벳 소문자 입니다.");
}
else if(input >= '0' && input <= '9'){
printf("숫자입니다.");
}
else{
printf("문자입니다.");
}
}
2. 연습문제 8
☞ 월을 입력받아 몇 분기인지를 출력하는 프로그램을 switch~case문을 이용해 작성하시오.
#include <stdio.h>
int main(void) {
int input, a;
printf("월 입력: ");
scanf_s("%d", &input);
switch (input) {
case 1:
case 2:
case 3:
a = 1;
break;
case 4:
case 5:
case 6:
a = 2;
break;
case 7:
case 8:
case 9:
a = 3;
break;
case 10:
case 11:
case 12:
a = 4;
break;
}
printf("%d사분기 입니다.", a);
}
3. 연습문제 10
☞ 키보드로 정수 하나와 계산 방법을 입력 받은 뒤 계산 방법이 1이면 입력된 수를, 2이면, 배수를, 3이면 3배수를 출력하는 프로그램을 switch~case 문을 이용해 작성하시오. 계산 방법으로 1, 2, 3 외의 입력이 들어오는 경우에는 '잘못된 연산자 입니다.'라는 메세지를 출력한다.
#include <stdio.h>
int main(void) {
printf("수 입력: ");
int value, calc;
scanf("%d", &value);
printf("계산법(1, 2, 3): ");
scanf("%d", &calc);
switch(calc){
case 1:
printf("입력 한 수 %d의 1배수는 %d입니다.",value, value);
break;
case 2:
printf("입력 한 수 %d의 2배수는 %d입니다.",value, value*2);
break;
case 3:
printf("입력 한 수 %d의 3배수는 %d입니다.",value, value*3);
break;
default:
printf("잘못된 연산자입니다.");
break;
}
}
중간값 구하기 프로그램 (n1, n2, n3)
#include <stdio.h>
int main() {
int n1, n2, n3;
scanf_s("%d %d %d", &n1, &n2, &n3);
printf("중간 값은 %d입니다.", middle(n1, n2, n3));
}
int middle(int A, int B, int C) {
if (A > B && A < C || A < B && A > C) {
return A;
}
else if (B > A && B < C || B < A && B > C) {
return B;
}
else {
return C;
}
}
반복문 예제 프로그램 작성해보기 (for문, whiile문으로 각각 작성하시오.)
1. "나는 프로그램이 좋다."를 10번 출력하는 프로그램을 작성햅보자. 반복횟수를 키보드에서 입력하여 입력된 반복 횟수 만큼 메세지를 출력한다.
//For문
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
for(int i=0; i<input; i++){
printf("나는 C프로그램이 좋다.\n");
}
}
//While문
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
while(input-- != 0){
printf("나는 C프로그램이 좋다.\n");
}
}
2. 1에서 100까지의 합의 구하는 프로그램을 작성해보자. 이때 숫자 100은 키보드에서 입력하여 사용하자. 키보드 입력이 100이면 1에서 100까지의 합, 키보드 입력이 10이면 10까지의 합을 구하고 출력한다.
//For문
#include <stdio.h>
int main(void) {
int input, sum = 0;
scanf("%d", &input);
for(int i=1; i<=input; i++){
sum += i;
}
printf("합은 %d입니다.", sum);
}
//While문
#include <stdio.h>
int main(void) {
int input, sum = 0;
scanf("%d", &input);
while(input != 0){
sum += input;
input --;
}
printf("합은 %d입니다.", sum);
}
3. 1에서 100사이의 수중에서 3의 배수들을 차례로 출력하는 프로그램을 작성해보자. 그리고 3의 배수의 합을 구하는 기능을 추가 해보자.
//For문
#include <stdio.h>
int main(void) {
int input, sum = 0;
scanf("%d", &input);
for(int i=1; i<=input; i++){
if(i%3 == 0){
printf("%d ", i);
sum += i;
}
}
printf("\n합은 %d입니다.", sum);
}
//While문
#include <stdio.h>
int main(void) {
int input, sum = 0, cnt = 0;
scanf("%d", &input);
while(input != cnt){
cnt++;
if(cnt % 3 ==0){
printf("%d ", cnt);
sum += cnt;
}
}
printf("\n합은 %d입니다.", sum);
}
4. 한줄에 5개의 별, 그리고 5줄을 출력하는 프로그램을 작성해보자. 키보드에서 숫자 n을 입력한 후 한줄에 n개의 별을 n줄만큼 출력하는 프로그램으로 수정해보자.
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
for(int i=1; i<=input; i++){
for(int j=1; j<=i; j++){
printf("*");
}
printf("\n");
}
}
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
for(int i= input; i>=1; i--){
for(int j=1; j<=i; j++){
printf("*");
}
printf("\n");
}
}
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
for(int i=0; i<=input; i++){
for(int j=1; j<=input-i; j++){
printf(" ");
}
for(int j=1; j<=i*2+1; j++){
printf("*");
}
printf("\n");
}
}
응용 연습 (순서대로, 차례대로 수행 할 일들..)
1. [프로그램 5-3]에서 작성된 프로그램을 [키보드에서 입력한 정수가 100보다 크면 "100보다 큰 수이며,"를 추가로 출력하고, -100보다 작으면 "-100보다 작은 수이며." 를 추가로 출력하도록 수정해보시오.
#include <stdio.h>
int main(void) {
int input;
scanf_s("%d", &input);
printf("입력한 수는 ");
if (input > 100)
printf("100보다 큰 수이며, ");
if (input < -100)
printf("-100보다 작은 수이며, ");
if (input < 0)
printf("음수이며, ");
else
printf("양수이며, ");
if (input % 2 == 0)
printf("짝수입니다.");
else
printf("홀수입니다.");
}
2. 응용연습1) 에서 작성한 프로그램에서 입력한 정수 100보다 크거나 -100보다 작은 경우에 아래와 같이 출력하도록 프로그램을 수정해보시오.
ex) 125 -> 입력한 수는 100보다 큰 수이며, 양수이고, 홀수입니다.
#include <stdio.h>
int main(void) {
int input;
scanf_s("%d", &input);
printf("입력한 수는 ");
if (input > 100) {
printf("100보다 큰 수이며, ");
printf(input < 0 ? "음수이고, " : "양수이고, ");
}
else if (input < -100) {
printf("-100보다 작은 수이며, ");
printf(input < 0 ? "음수이고, " : "양수이고, ");
}
else {
if (input < 0)
printf("음수이며, ");
else
printf("양수이며, ");
}
if (input % 2 == 0)
printf("짝수입니다.");
else
printf("홀수입니다.");
}
'대학교 수업 > C 프로그래밍' 카테고리의 다른 글
[C프로그래밍 실습과제 03/4장] 정답 풀이 (0) | 2021.09.24 |
---|---|
[C프로그래밍 실습과제 02/3장] 정답 풀이 (0) | 2021.09.17 |
[C프로그래밍 실습과제 01/2장] 정답 풀이 (0) | 2021.09.10 |