이 글은 과제 제출 기한이 지났고 사이트 내에서 코드도 열람이 가능해졌기 때문에

풀이를 정리해도 될 것 같아 정리해보았습니다. 

 

<안내>
필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다.
그러니 지적, 피드백 환영합니다.

시침과 분침의 각도 구하기 문제

#include <iostream>
using namespace std;
int angleClock(int h, int m);
int main(void)
{
int t;
int h, m;
    cin >> t;
    for(int i=0; i<t; i++)
{
        cin >> h >> m;
        cout << angleClock( h, m ) << endl;
    }
    return 0;
}
int angleClock(int h, int m) {
  double ang = (30*(double)h -5.5*(double)m);
  if (ang <0){
    ang = -ang;
  }

  if (ang > 180){
    return (360 - ang);
  }
  else  {
    return ang;
  }
}

내가 헷갈렸던 것 : 180도가 넘는 각도에서는 360 - ang로 해야 함. 내가 한 것 : ang - 180

끝자리 숫자 계산하기

여러 개의 자연수가 주어졌을 때, 주어진 모든 자연수를 곱한 수의 마지막 자리수(1 의 자리수)를 계산하는 프로그램을 작성하시오.


예를 들어, 세 개의 자연수 9, 314, 27 을 곱한 수의 마지막 자리수는 2 이다.

입력

입력은 표준입력(standard input)을 사용한다. 입력은 t 개의 테스트 케이스로 주어진다. 입력 파일
의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 정수 t 가 주어진다. 두 번째 줄부터 t 개의 줄에
는 한 줄에 한 개의 테스트 케이스에 해당하는 정수들이 주어진다. 각 테스트 케이스에 해당되는 각
줄의 첫 번째 정수 n (1 ≤ n ≤ 100) 은 주어진 자연수의 개수를 나타낸다. 그 다음에는 n 개의 자연
수가 주어지는데, 각 자연수의 최소값은 1 이며 최대값은 231-1 이다. 같은 줄에 나열되는 각 정수들
사이에는 한 개의 공백이 있으며, 잘못된 데이터가 입력되는 경우는 없다.

출력

출력은 표준출력(standard output)을 사용한다. 입력되는 테스트 케이스의 순서대로 다음 줄에 이어
서 각 테스트 케이스의 결과를 출력한다. 각 테스트 케이스에 해당하는 출력의 첫 줄에 입력되는 n
개의 자연수를 곱한 수의 마지막 자리수를 출력한다.

 #include <iostream>
using namespace std;

int main() {
    int a, i, j, x, y;

    cin >> x;
    for (i=0; i<x; i++) {
        cin >> y;
        int times = 1;

        for(j=0; j<y; j++) {
            cin >> a;
            a %= 10;
            times *= a;
            times %= 10;
        }
        cout << times << endl;
    }       
    return 0;
}

실수한 게 있다.
for 반복문은 소괄호가 끝나고 문장을 끝내면 안됨

for (초기값; 조건; 끝나고 실행할거); {반복문}
이러면 안됨 이러면 한번 실행하고 끝남 

'TIL > [C++ 프로그래밍} TIL' 카테고리의 다른 글

TIL (22.04.04)  (0) 2022.04.04
TIL (22.03.30)  (0) 2022.03.30
TIL (22.03.28)  (0) 2022.03.28
TIL (22.03.23)  (0) 2022.03.23
TIL (22.03.21)  (0) 2022.03.21