문제 1.
다음 실행 결과를 만족하는 프로그램을 작성하세요.
실행결과
두 개의 정수를 입력하세요 : 4 6
큰 수는 6입니다.
계속하려면 아무 키나 누르십시오...
두 개의 정수를 입력하세요. 5 5
두 수는 같습니다.
계속하려면 아무 키나 누르십시오...
A:
#include <stdio.h>
void main()
{
int num1, num2;
printf("두 개의 정수를 입력하세요 : ");
scanf_s("%d %d", &num1, &num2);
if (num1 > num2)
printf("큰 수는 %d입니다.", num1);
else if (num1 < num2)
printf("큰 수는 %d입니다.", num2);
else
printf("두 수는 같습니다.");
}
문제 2.
세 자리 십진수를 입력받아서 각 자라의 숫자들이 각각 짝수인지 홀수인지를 구분하여 출력하는 프로그램을 작성하세요. 예를 들어 456을 입력하면"4 : 짝수 5 : 홀수 6 : 짝수"가 출력됩니다.
실행 결과
3자리 십진수를 입력하세요 : 456
4 : 짝수 5 : 홀수 6 : 짝수
계속하려면 아무 키나 누르십시오...
A:
문제를 풀다보니 좀 더 줄여서 깔끔하게 할 수 있을 것 같은데 지금은 아이디어가 떠오르지 않는다... 어떻게 하면 더 깔끔하게 할 수 있을까?
#include <stdio.h>
void main()
{
int num;
printf("3자리 십진수를 입력하세요 : ");
scanf_s("%d", &num);
int x1, x2, x3;
x1 = num / 100;
x2 = num / 10 % 10;
x3 = num % 10;
if (x1 % 2 == 0)
{
if (x2 % 2 == 0)
{
if (x3 % 2 == 0)
{
printf("%d : 짝수 %d : 짝수 %d : 짝수\n", x1, x2, x3);
}
else printf("%d : 짝수 %d : 짝수 %d : 홀수\n", x1, x2, x3);
}
else
{
if (x3 % 2 ==0 )
printf("%d : 짝수 %d : 홀수 %d : 짝수\n", x1, x2, x3);
else
printf("%d : 짝수 %d : 홀수 %d : 홀수\n", x1, x2, x3);
}
}
else
{
if (x2 % 2 == 0)
{
if(x3 % 2== 0)
printf("%d : 홀수 %d : 짝수 %d : 짝수\n", x1, x2, x3);
else
printf("%d : 홀수 %d : 짝수 %d : 홀수\n", x1, x2, x3);
}
else
{
if(x3 % 2 ==0)
printf("%d : 홀수 %d : 홀수 %d : 짝수\n", x1, x2, x3);
else
printf("%d : 홀수 %d : 홀수 %d : 홀수\n", x1, x2, x3);
}
}
}
문제 3.
다음 실행 예는 점수에 따라 해당 등급의 문자를 반환하는 프로그램입니다. 입력되는 점수는 항상 100이하이며 점수가 90~100이면 A, 80~89이면 B, 그 외에는 F를 반환합니다. switch 문으로 작성하세요.
실행결과
점수를 입력하세요 : 95
A
계속하려면 아무 키나 누르십시오...
A: 이 문제 역시 간단하지만, 이렇게 나열로 밖에 풀 수 없나 의문이 든다.
#include <stdio.h>
void main()
{
int num;
printf("점수를 입력하세요 : ");
scanf_s("%d", &num);
switch (num)
{
case 100:
case 99:
case 98:
case 97:
case 96:
case 95:
case 94:
case 93:
case 92:
case 91:
case 90:
printf("A");
break;
case 89:
case 88:
case 87:
case 86:
case 85:
case 84:
case 83:
case 82:
case 81:
case 80:
printf("B");
break;
default:
printf("F");
}
}
문제 4.
1부터 100까지 수 중에서 홀수만 출력하는 프로그램을 작성하세요. 반복문의 경우에는 for 문을 사용하고, 1부터 100까지 증가하는 숫자 중 짝수의 출력을 방지하기 위해 continue를 이용하세요.
실행 결과
1 3 5 7 9 11 13 15 ......... 99
계속하려면 아무 키나 누르십시오..
A:
#include <stdio.h>
void main()
{
for (int i = 0; i < 100; i++)
{
if (i % 2 == 0) continue;
printf("%d ", i);
}
}

문제 5.
사용자로부터 세 개의 정수를 입력받아 정수형 변수 a,b,c에 각각 할당한 후, if else 문을 이용하여 이들 변수 중 가장 큰 값을 출력하는 프로그램을 작성하세요. 단, 같은 수를 입력받았을 때의 처리도 가능해야 합니다.
실행 결과
input : 12
input : 113
input : 9
result :113
A:
#include <stdio.h>
void main()
{
int a, b, c;
printf("input : ");
scanf_s("%d", &a);
printf("input : ");
scanf_s("%d", &b);
printf("input : ");
scanf_s("%d", &c);
if( a >= b)
{
if (a >= c)
printf("result : %d", a);
else
printf("result : %d", c);
}
else
{
if (b >= c)
printf("result : %d", b);
else
printf("result : %d", c);
}
}
'# 개발 > C언어' 카테고리의 다른 글
c언어 연습문제 #6 - 응용 (국비7일차) (0) | 2023.01.09 |
---|---|
c언어 연습문제 #5 (국비7일차) (0) | 2023.01.09 |
c언어 #5 - 제어문(if, switch,for,while,break,continue) (국비6일차) (0) | 2023.01.06 |
c언어 연습문제 #3 (국비5일차) (0) | 2023.01.05 |
c언어 #4 - 상수, 연산자 (국비5일차) (0) | 2023.01.05 |