- 다음 프로그램의 실행하고 실행 결과로 부터 변수의 유효 범위를 추론하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int a = 10;
{
int a = 20;
cout << "a(1): " << a << endl;
}
{
int a = 30;
cout << "a(2): " << a << endl;
}
{
int a = 40;
{
cout << "a(3): " << a << endl;
}
cout << "a(4): " << a << endl;
}
cout << "a(5): " << a << endl;
return 0;
}
- 다음 프로그램 코드를 실행 시켰을 때 90을 입력하였을 때 100 이하 정수이다 가 화면에 출력되고 110을 입력하였을 때 100 초과 정수이다 가 화면에 출력되는지 확인하라. 결과가 지정한대로 출력되지 않는다면 이유를 추론하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int input;
cout << "정수를 입력하시오: ";
cin >> input;
if(input <= 100) {
cout << "100 이하 정수이다" << endl;
}
cout << "100 초과 정수이다" << endl;
return 0;
}
-
1의 결과가 원하는대로 출력이 되도록 프로그램 코드를 수정하라.
-
다음 프로그램 코드는 입력 값이 15일 때 입력한 값은 15, 10보다 큰 정수이다 라고 출력이 되고 입력 값이 5 일 때 10보다 작은 정수이다 가 출력이 되도록 작성한 것이다. 컴파일 시 에러가 발생한다. 원인을 추론하고 원하는 결과가 나오도록 프로그램을 수정하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int value;
cout << "정수를 입력하시오: ";
cin >> value;
if(value > 10)
cout << "입력한 값은 " << value << endl;
cout << "10보다 큰 정수이다" << endl;
else
cout << "10보다 작은 정수이다" << endl;
return 0;
}
- 다음 프로그램 실행 시 짝수가 입력되면 짝수 이다. 가 출력되고 홀수가 입력되면 홀수 아다. 가 출력되도록 A 또는 B 출력 부분을 수정하라. 그리고 프로그램 결과를 분석하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int value;
cout << "정수를 입력하시오: ";
cin >> value;
if(value % 2)
cout << " A " << endl;
else
cout << " B " << endl;
return 0;
}
-
4번의 프로그램 코드를 수정하여 입력한 정수가 3의 배수 인지 아닌지를 판펼하는 프로그램을 작성하라.
-
다음 프로그램 코드는 입력으로 A, B, C 문자 중 하나가 입력이 되면 각각 A가 입력, B가 입력, C가 입력 라고 화면에 출력이 되고 이 외의 문자가 입력되면 원하는 문자가 아니다 라고 출력하려는 것이다. 원하는 결과가 나오도록 프로그램을 수정하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
char ch;
cout << "A, B, C 문자 중 하나를 입력하시오:";
cin >> ch;
switch (ch) {
case A:
cout << "A가 입력" << endl;
case B:
cout << "B가 입력" << endl;
case C:
cout << "C가 입력" << endl;
default:
cout << "원하는 문자가 아니다" << endl;
}
return 0;
}
-
6번 프로그램 코드를 수정하여 대문자 A와 소문자 a가 입력되면 A가 입력, 대문자 B와 소문자 b가 입력되면 B가 입력, 대문자 C와 소문자 c가 입력되면 C가 업력 이라 출력되도록 수정하라.
-
다음 프로그램 코드는 1에서 3 사이의 정수가 입력되었는지 확인하고 각 각에 대해 화면에 출력하고 그 외의 수가 입력 되었다고 화면에 출력하려고 한다. 프로그램을 실행하였을 때 원하는 결과를 보이는지 확인하고 원하는 결과가 나오지 않으면 이유를 추론하고 올바르게 수정하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int value;
cout << "1 ~ 3 중의 정수를 입력하시오: ";
cin >> value;
switch(value){
case '1':
cout << "1이 입력" << endl;
break;
case '2':
cout << "2가 입력" << endl;
break;
case '3':
cout << "3이 입력" << endl;
break;
default:
cout << "원하는 수가 아니다" << endl;
}
return 0;
}
- 다음 프로그램 코드를 실행 시 반복되는 문장이 무엇인지 답하고 반복되는 횟수를 추론할 수 있는가? 또한 반복의 종료 조건은 무엇인가?
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int input;
do {
cout << "정수를 입력하시오: ";
cin >> input;
cout << "입력값: " << input << endl;
}while(input != 0);
return 0;
}
- 다음 프로그램 코드를 실행하고 반복 횟수만큼 실행이 되는지 확인하고 반복 횟수보다 둘 적은 횟수로 반복되도록 코드를 수정하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int count = 0, num;
cout << "반복 횟수를 입력하시오: ";
cin >> num;
while(count < num) {
cout << "repeat (" << count << ")" << endl;
count++;
}
return 0;
}
- 다음 프로그램 실핼 결과를 추론하고 이유를 기술하시오.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
for(int i = 0; i < 10; i++){
if(i == 3 || i == 6) continue;
cout << i << ", ";
}
cout << endl;
return 0;
}
- 다음 프로그램 실핼 결과를 추론하고 이유를 기술하시오.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
for(int i = 0; i < 10; i++){
if(i == 3 || i == 6) break;
cout << i << ", ";
}
cout << endl;
return 0;
}
- 다음 프로그램 코드의 실행 결과가 다음과 같이 되도록 프로그램을 완성하라.
0, 1, 2, 3, 0, 1, 2, 3, 0, 1
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
for(int i = 0; i < 10; i++){
// 프포그램 코드가 들어가야 할 영역
}
cout << endl;
return 0;
}
- 다음은 1에서 10까지의 정수를 더하는 프로그램 코드이다. 이를 반복문을 사용하여 1에서 10까지 정수를 더하는 프로그램을 작성하라. 프로그램의 실행 결과는 다음과 같아야 한다.
(1): 1+2+3+4+5+6+7+8+9+10 = 55
(2): 1+2+3+4+5+6+7+8+9+10 = 55
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int sum;
sum = 1+2+3+4+5+6+7+8+9+10; // 1 ~ 10 까지의 정수 더하기
cout << "(1): 1+2+3+4+5+6+7+8+9+10 = " << sum << endl;
sum = 0;
for(int i = 1; i <= 10; i++){
// 프로그램 코드 영역 (1 ~ 10 까지의 정수 더하는 코드)
}
cout << "(2): 1+2+3+4+5+6+7+8+9+10 = " << sum << endl;
return 0;
}
-
14번 코드를 기반으로 1에서 10까지의 곱을 구하는 코드를 작성하라.
-
14번의 코드를 1에서 16까지 곱과 1에서 17까지의 곲을 구하고 원하는 결과가 나오는지 확인하라. 원하는 결과가 나오지 않는 이유와 해결책을 제시하라.
-
다음과 같이 두 수를 입력 받아 두 수가 같으면 "두수는 같다.", 같지 않다면 "X는(은) Y보다 크다" 라고 출력되도록 프로그램을 작성하라.
실행 예
두수를 입력하라.
20
20
두수는 같다.
두수를 입력하라.
20
30
30은(는) 20보다 크다.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int data1, data2;
cout <<"두 수를 입력하라."
cin >> data1 >> data2;
// 아래에 프로그램을 작성하라.
return 0;
}
- 다음 프로그램은 무엇을 하는 프로그램인지 추론하라.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int data, res;
int sum = 0;
cin >> data;
do{
res = data % 10;
cout << "data: " << data << ", res: " << res << endl;
data /= 10;
sum += res;
if(data < 10) sum += data;
}while(data >= 10);
cout << "data: " << data << " sum: " << sum << endl;
return 0;
}
- 다음 조건문의 실행 결과를 실행 후
if 문
다음의 주석문의//
을 제거하고 컴파일 하였을 때 오류가 발생한다면 이유를 추론하라.
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char const *argv[])
{
srand(time(NULL)); // set seed of random number generator
if(int rnum = rand(); rnum % 2 == 0) {
cout << rnum << " 은 짝수 이다.";
}
else{
cout << rnum << " 은 홀수 이다.";
}
//cout << "rnum: " << rnum << endl;
return 0;
}
- 다음 프로그램 코드에서 함수에 전달된 값에 따라 출력되는 문장이 올바르게 되도록 함수 내부를 수정하라
#include <iostream>
using namespace std;
string func(int n){
if(n < 10) {
return "10 보다 작음";
}
else if(n < 5){
return "5 보다 작음";
}
else {
return "5이상 10 이하 이다";
}
}
int main(int argc, char const *argv[])
{
cout << func(10) << endl;
cout << func(3) << endl;
cout << func(7) << endl;
return 0;
}