#include<stdio.h> int main() { int a, i, j; scanf("%d", &a); for (i = 0; i <= a; i++) { for (j = 0; j < a-i; j++) printf(" "); for (j = 0; j <i; j++) printf("*"); printf("\n"); } }
제가 한 코딩이 이렇게 인데 출력이 잘되는데 출력형식의 오류라고 뜨네요 왜그렇죠?
#include<stdio.h> int main() { int a, i, j; scanf("%d", &a); for (i = 0; i < a; i++) { for (j = 0; j < a-i; j++) printf(" "); for (j = 0; j <i; j++) printf("*"); printf("\n"); } }
이건 처음에 제가 한 코딩인데 왜 처음 for문에서 i<=a랑 같아요 별갯수가 a갯수까지 나올까요 전 처음에 i<a라 생각해서 햇더니 별갯수가 하나씩 적게 나와서 묻습니다 ㅠㅠ
예를들어 a=5, i=0일때 첫번째 for문의 조건이 a-i=5라서 j는 [0, a)만큼 루프를 돌아 공백은 5개 출력되는데 두번째 for문에서는 j=0이고 조건인 j<i. 여기서 i는 0이니 j<i는 항상 false라서 반복을 하지 않고 그대로 나오게 됩니다. 그래서 항상 첫줄에 a만큼의 공백을 출력하는 빈 줄이 생겨 잘못된 결과를 받게됩니다.
gusdnd1204 6년 전
#include<stdio.h>
int main()
{
int a, i, j;
scanf("%d", &a);
for (i = 0; i <= a; i++) {
for (j = 0; j < a-i; j++)
printf(" ");
for (j = 0; j <i; j++)
printf("*");
printf("\n");
}
}
제가 한 코딩이 이렇게 인데 출력이 잘되는데 출력형식의 오류라고 뜨네요 왜그렇죠?
#include<stdio.h>
int main()
{
int a, i, j;
scanf("%d", &a);
for (i = 0; i < a; i++) {
for (j = 0; j < a-i; j++)
printf(" ");
for (j = 0; j <i; j++)
printf("*");
printf("\n");
}
}
이건 처음에 제가 한 코딩인데 왜 처음 for문에서 i<=a랑 같아요 별갯수가 a갯수까지 나올까요 전 처음에 i<a라 생각해서 햇더니 별갯수가 하나씩 적게 나와서 묻습니다 ㅠㅠ