프로그래밍/C언어

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (24,25,26)

    24. 자연수 두 개를 입력받은 후, 최대 공약수를 구하는 프로그램을 while문을 이용해 작성하시오. #include int main(void) { int x, y, r; printf("두 개의 정수를 입력하시오: "); scanf_s("%d %d", &x, &y); while (y != 0) { r = x % y; x = y; y = r; } printf("최대 공약수는 %d입니다.\n", x); return 0; } 유클리드 호제법이다. 모든 방법이 책에 있으므로 어렵지 않다. 25. 구간 $[a,b]$ 에서 연속인 함수 $f(x)=x^{2}(f(x)\ge 0)$ 에 대해 $x=a,x=b,y=f(x)$ 로 둘러싸인 넓이(정적분)는 다음과 같이 정의된다. $$S(x)=\int_{b}^{a}f(x)dx..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (19,20,21,22,23)

    19. 구구단(2단~9단)을 가로로 출력하는 프로그램을 작성하시오. #include int main(void) { int i, j; for (i = 1; i

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (13,14,15,16,17,18)

    13. score에 저장된 점수가 70이하면 '하', 71~90이면 '중', 91이상이면 '상'으로 출력하려고 한다. 다음 왼쪽 if문은 결과가 정상적이지만, 오른쪽 if문은 score가 60일 때 '하중상'으로 잘못 출력된다. 이유를 적으시오. //올바른 if문 if (score

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (8,9,10,11,12)

    08. 월을 입력받아 몇 분기인지를 출력하는 프로그램을 switch ~ case문을 이용해 작성하시오. #include int main(void) { int month; printf("월 입력:"); scanf_s("%d", &month); switch (month) { case 1: printf("1사분기입니다."); break; case 2: printf("1사분기입니다."); break; case 3: printf("1사분기입니다."); break; case 4: printf("2사분기입니다."); break; case 5: printf("2사분기입니다."); break; case 6: printf("2사분기입니다."); break; case 7: printf("3사분기입니다."); break; c..

    소수점 이하 자리에 나오는 0을 없애고 싶을 때

    소수를 출력하기 위해서 형식지정자를 이용하는데, %f를 사용하면 소수점 이하 여섯자리까지 자동으로 출력됩니다. 그래서 3.14를 출력하고 싶어도 3.140000이 출력됩니다. 어떤 커뮤니티에서, 0이 출력되지 않게 하고 싶은데 어떻게 해야 하는지 질문하는 글이 올라와서 저도 궁금해졌습니다. 한참을 삽질하다가 아주 간단한 방법이 있음을 알았죠. 바로 형식지정자(format specifier)를 이용하는 것입니다. #include int main(void) { float pi = 3.14; printf("%%f를 사용했을 때:%f\n", pi); printf("%%e를 사용했을 때:%e\n", pi); printf("%%g를 사용했을 때:%g\n", pi); return 0; } %g 형식 지정자를 이용해 ..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 5~7

    5. 다음 프로그램에서 ①은 동일한 결과를 출력하는 while문으로, ②는 동일한 결과를 출력하는 for문으로 변환해 작성하시오. ① int i = 1; while (i =0; i-=3) { printf("%d\n", i); } 6. 하나의 문자를 입력받고, 입력받은 문자를 알파벳 대문자, 알파벳 소문자, 숫자, 그 외의 문자들로 구별하는 프로그램을 if문을 이용해 작성하시오. #include int main(void) { char dis; //구별(distinguish) 위한 문자형 변수 printf("문자 입력:"); scanf("%c", &dis); if ('0'

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 1~4

    1. 반복문인 while문과 do-while문의 차이점을 설명하시오. while문은 조건식을 먼저 확인한 후 본문을 실행하지만 do~while문은 본문을 먼저 실행한 후 조건식을 확인한다. 2. if문이 두 번 나타나는 ①, ②를 논리 연산자를 이용해 두 조건을 하나로 표현한 if문으로 작성하시오. ① if (x 20) printf("%d\n", x); if (x 20) printf("%d\n", x); ② if (x > 10) if (x 10 && x < 20) printf("%d\n", x); 3. 다음 코드에서 잘못된 부분을 찾아 수정하시오. #include in..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (11~16)

    11. 다음 수식을 계산하는 프로그램을 작성하시오. $$2x^{3}-3x^{2}+\frac{1}{x}$$ #include int main(void) { int x; double expression; printf("x 입력:"); scanf_s("%d", &x); expression = 2.0 * x*x*x - 3.0 * x*x + 1.0 / x; printf("ㅡ> x=%d일때 \n f(x)=2x³-3x²+1/x=%.1lf\n", x, expression); return 0; } x의 자료형, 소수점에 관한 언급이 없어 임의로 정함. 12. 네 자리 정수(num)을 입력받아 천, 백, 십 일의 자리로 분리하여 출력하는 프로그램을 작성하시오, #include int main(void) { int num; ..