반응형
문제
첫 번째 풀이 - '출력 형식이 잘못되었습니다' 오류 발생
아래의 글처럼 중첩 for문에 if문을 이용하여, 별 찍기와 공백을 이용해 코드를 짰다.
하지만, 별 뒤의 공백으로 인해 '출력 형식이 잘못되었습니다' 오류가 발생했다.
오류 코드
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j <= n -i + 1) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
두 번째 풀이
따라서, else {cout << " "; } 을 else { break; }로 수정해, 별이 찍힌 후 바로 for문을 빠져나오도록 해 오류를 해결할 수 있었다.
정답 코드
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j <= n -i + 1) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
결과
반응형
'Programming > C++ - 백준' 카테고리의 다른 글
[백준] 2442번 : '별 찍기 -5' - (C++) (0) | 2023.04.18 |
---|---|
[백준] 2441번 : '별 찍기 -4' - (C++) (0) | 2023.04.18 |
[백준] 2439번 : '별 찍기 -2' - (C++) (1) | 2023.04.17 |
[백준] 2438번 : '별 찍기 -1' - (C++) (0) | 2023.04.17 |
[백준] 10818번 : 최소, 최대 - (C++) (0) | 2023.04.17 |
댓글