일지

JUNGOL...10

niamdank 2020. 10. 19. 07:59

Language_Code/디버깅/형성평가1


문제                                            

정수로 된 3과목의 점수를 입력받아 평균을 구한 후 반올림하여 소수 첫째자리까지 출력하는 프로그램을 작성하시오.

 

입력 예                                        

70 95 65

 

출력 예                                        

76.7


FormativeDebug01.h

#include <iostream>

 

FormativeDebug01.cpp

void FormativeDebug01::Code()
{
	int var1, var2, var3;

	std::cin >> var1 >> var2 >> var3;

	float avg{ (var1 + var2 + var3) / 3.0f };

	std::cout.precision(1);
	std::cout.setf(std::ios::fixed);

	std::cout << avg;
}

 

Language_Code/디버깅/형성평가2


문제                                            

실수로 된 3과목의 점수를 입력받아 총점은 정수부분의 합계를 출력하고 평균은 실수의 평균을 구한 뒤 정수부분만 출력하는 프로그램을 작성하시오.

 

입력 예                                        

70.5 95.5 68.5

 

출력 예                                        

sum 233

avg 78


FormativeDebug02.h

#include <iostream>

 

FormativeDebug02.cpp

void FormativeDebug02::Code()
{
	float var1, var2, var3;

	std::cin >> var1 >> var2 >> var3;

	int sum{ static_cast<int>(var1) + static_cast<int>(var2) + static_cast<int>(var3) };
	int avg{ static_cast<int>((var1 + var2 + var3) / 3) };

	std::cout.precision(1);
	std::cout.setf(std::ios::fixed);

	std::cout << "sum " << sum << '\n';
	std::cout << "avg " << avg;
}

 

Language_Code/디버깅/형성평가3


문제                                            

아래의 프로그램을 작성하여 디버깅을 하면서 디버깅 창에서 ① 위치에서의 a의 값이 얼마인지 구하여 그 값을 출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
	int a = 5;
	a += 10;
	a = a - 1; -------------- ①
	printf("%d\n", 1); // 여기에서 출력될 1을 ①위치에서의 a 값으로 바꾸어 준다.
	return 0;
}

 

출력 예                                        

①에서의 a값만 출력하는 프로그램을 작성하시오.

 

Hint!

python의 경우

a = 5
a += 10
a = a - 1 #---------------- - 1.
print(0) # 1. 에서의 a값을 0 대신 출력한다.

FormativeDebug03.h

#include <iostream>

 

FormativeDebug03.cpp

void FormativeDebug03::Code()
{
	std::cout << 15;
}

 

Language_Code/디버깅/형성평가4


문제                                            

다음의 프로그램을 작성하고 디버깅을 하며 ①, ②, ③ 위치의 값을 watches에서 a의 값을 출력하시오.

즉, ​①에서 a의 값,  ②에서 a의 값, ③에서 a의 값을 1,2,3과 바꾸어 출력하면 됩니다.

(PC의 시간이 맞는지 확인하세요. 시간이 다르면 결과가 틀릴 수 있습니다.)

#include <stdio.h>
#include <time.h>
int main()
{
	int a = 0;
	time_t now;
	struct tm tt;
	time(&now);
	tt = *localtime(&now);
	a = tt.tm_year; -------------- ①
	a += tt.tm_mon; -------------- ②
	a += tt.tm_mday;
	printf("%d %d %d\n", 1, 2, 3); -------------- ③
	// 위 문장에서 출력될 값들을 각각 ①②③위치에서의 a의 값으로 바꾸어 준다.
}

 

출력 예                                        

① ② ③ 의 값만 출력

 

Hint!

python의 경우 p, q, r 위치에서의 a값들을 구하여 print(p, q, r)에서 p, q, r을 대신하여 작성한다.

from datetime import datetime

now = datetime.now()
a = 0
a = now.year - 1900 # p
a += now.month - 1  # q
a += now.day

print(p, q, r)      # r

java의 경우

public class Main {

    public static void main(String[] args) {

        java.util.Calendar cal = java.util.Calendar.getInstance();

        int a = 0; a = cal.get ( java.util.Calendar.YEAR )-1900; //---① 

        a += cal.get ( java.util.Calendar.MONTH ); //---② 

        a += cal.get ( java.util.Calendar.DATE ) ; 

        System.out.printf("%d %d %d ", 1, 2, 3); //---③ //① ② ③에서의 a값을 1, 2, 3자리에 각각 써 넣는다. 

    }

}

FormativeDebug04.h

#include <iostream>

 

FormativeDebug04.cpp

void FormativeDebug04::Code()
{
	std::cout << 0 << ' ' << 120 << ' ' << 148;
}

 

NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

 

NadanKim/CodingTest_JUNGOL

JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

github.com