
[C언어] 백준 8393번 오답노트
2021. 5. 30. 23:00
▶ 언어/백준
입력 받는 값을 n으로 정한다. 그래놓고는 출력값을 n으로 정했다. 그렇기 때문에 에러가 뜬다. 출력값을 i 로 바꿔주었다. for문 안에서 정의했던 i 를 맨 처음으로 가져와 선언해준다. ( for 문에서 정의할 경우 for문에서만 사용할 수 있는 변수이다. ) 출력값을 i 로 바꾸고 나서 작성했던 코드이다. #include int main() { int n, i; scanf("%d", &n); for (i = 0; i

[C언어] 백준 2739번 오답노트
2021. 5. 30. 22:35
▶ 언어/백준
솔직히 틀린게 너무 어이가 없어서 어이가 없다. 하다하다 for문 응용도 아니고 기초를 틀렸다. 그것도 틀렸습니다도 아니고 컴파일 오류. 컴파일 에러가 난 이유에 대해 서술한다. 1. for(사이에 들어가는 초기식, 조건식, 증감식) 사이는 , 가 아닌 ; 로 구분한다. 2. for문에 사용한 i 의 값은 정의되지 않은 변수이다. 틀린 이유에 대해 서술한다. 1. for문 안 printf 문에서 출력할 때 \n를 통해 줄 넘김을 해주지 않았다. 2. 요구한 출력은 n * n = n 인데 n*n=n 으로 출력했다. (출력 요구사항을 제대로 보지 않았다.) 완성한 코드이다. #include int main(){ int a; scanf("%d",&a); for(int i=1;i

[C언어] 백준 2884번 오답노트
2021. 5. 30. 22:23
▶ 언어/백준
이번 문제는 시간에 관한 문제이다. 시는 24시가 최대이고 분은 59분이 최대이다. 또한 두 값은 절대 -가 될 수 없다. 시는 h로 분은 m으로 변수를 지정한다. m의 값에 -45를 해본 후 m의 값이 -로 떨어진다 하면 h-1 을 해주고 맨 처음 입력받은 m의 값에 (m-45) 한 값을 더해준다. 처음 작성했던 코드는 이것이다. #include int main(){ int h,m; scanf("%d %d",&h,&m); if((m-45)

[C언어] 백준 10171번 오답노트
2021. 5. 25. 20:40
▶ 언어/백준
\를 정상적으로 출력하기 위해서는 \를 한 번 더 붙여야한다. \ : 줄 이음의 의미 \n : 줄바꿈 \' : 작은따옴표 \" : 큰 따옴표 \? : 물음표 \t : 수평 탭 #include int main(){ printf("\\ /\\\n"); printf(" ) ( ')\n"); printf("( / )\n"); printf(" \\(__)|\n"); return 0; } 오답의 이유 1. \를 출력하기 위해서 붙여야하는게 %인줄 알았다. 2. \를 \뿐만 아니라 ( 에도 붙였다. 3. 그래놓고는 "에는 \를 붙이지 않았다.

[C언어] 백준 2588번 오답노트
2021. 5. 25. 20:28
▶ 언어/백준
값을 출력하기 위해서는 %로 나머지를 받아 곱해 단계별로 출력하는 방법이 있다. (다른 방법에 대해서는 추후 기술할 예정) #include int main(){ int a,b; scanf("%d %d",&a,&b); printf("%d\n",a*(b%10)); printf("%d\n",a*((b%100)/10)); /*1*/ printf("%d\n",a*(b/100)); printf("%d\n",a*b); return 0; } 1번의 경우 a의 값과 십의자리 수의 곱을 찾아야 하는데 초반에 printf("%d\n",a*((b%100)-(b%10))); 로 받아 a와 십의 자리수가 아닌 80 그대로를 곱하게 되어 오류가 발생했다. 이후 printf("%d\n",a*((b%100)/10)); 로 받아 a와 ..

[C언어] 백준 1008번 오답노트
2021. 5. 25. 20:05
▶ 언어/백준
#include int main(){ double a,b; scanf("%lf %lf",&a,&b); printf("%.10lf\n",a/b); return 0; } /* 조건은 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다. 그렇기 때문에 소숫점 자릿수를 걸어주는데, float로는 전부 받을 수 없기 때문에 double 변수형으로 받아준다 %f역시 받을 수 있는 최대 자릿수가 float와 동일하기 때문에 조금 더 용량이 큰 %lf 로 받는다. */ float -> 소숫점 6 double -> 소숫점 15