{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# for 문의 이해\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제\n", "다음 코드의 동작을 분석하고 결과를 예측해보자." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " int i, sum;\n", " sum = 0;\n", " \n", " for (i = 0; i <= 100; i = i + 1)\n", " {\n", " sum = sum + i;\n", " }\n", " \n", " printf(\"sum of numbers from 1 to 100 is %d\\n\", sum);\n", " \n", " return 0;\n", "}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " int i, sum;\n", " i = 42;\n", " \n", " for ( ; i <= 47; i++)\n", " {\n", " printf(\"ASCII of %C is %d\\n\", i, i);\n", " }\n", " \n", " return 0;\n", "}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " int row, col;\n", " char char1;\n", " for (row = 0; row < 5; row++)\n", " {\n", " char1 = 'A';\n", " for(col = 0; col <= row; col++)\n", " {\n", " printf(\"%c\", char1+col);\n", " }\n", " printf(\"\\n\");\n", " }\n", " return 0;\n", "}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "// 다음 루프의 결과를 답하시오\n", "for(value = 36; value > 0; value /= 2)\n", " printf(\"%3d\", value);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제\n", "다음 결과를 만들어 내는 프로그램을 작성하시오\n", "```\n", "2 4 6 8 10\n", "3 6 9 12 15\n", "4 8 12 16 20\n", "5 10 15 20 25\n", "6 12 18 24 30\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제\n", "다음은 구구단 프로그램이다. 틀린 부분을 찾아 수정하시오." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " int i, j, s;\n", " for(i = 1; i <= 9; i++)\n", " for(j = 1; j <= 9; j++)\n", " {\n", " printf(\"%d x %d = %d\\n\", i, j, s);\n", " }\n", " s = i * j;\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제\n", "for 문을 사용하여 1에서 100 사이의 홀수 합을 구하는 프로그램을 작성하시오." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " // your code here\n", " return 0;\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제\n", "1부터 30까지의 정수 중에서 홀수를 출력하는 프로그램을 다음과 같이 작성하였다. 그런데 원하는 값이 출력되지 않는다. 어떤 오류가 있는지 파악하고 수정하여 보자." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " int sum;\n", " for(sum = 1; sum <= 30; sum++)\n", " {\n", " if(sum / 2 == 1)\n", " printf(\"%d\\n\", sum);\n", " }\n", " return 0;\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제 \n", "다음과 같은 코드가 있다. 코드를 이해하고 쉼표를 사용하지 않는 `for` 문으로 변경해보자" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#include \n", "\n", "int main()\n", "{\n", " for (cnt = 0, i = 1, j =2; cnt < n; ++cnt, i += 2, j += 2)\n", " odd += i, even += j;\n", "\n", " return 0;\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 문제\n", "\n", "제곱 계산 결과를 나타내는 표를 `for`문으로 만들려고 한다. 사용자가 값을 입력하면 1부터 그 값까지의 제곱 결과를 표시 해 보자. 각 숫자를 표현하기 위해 열자리를 확보하도록 `printf`문의 형식지정자를 조정하기 바랍니다.\n", "\n", "실행 결과 예:\n", "\n", " This program prints a table of squares.\n", " Enter number of entries in table: 5\n", " 1 1\n", " 2 4\n", " 3 9\n", " 4 16\n", " 5 25" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "/* Prints a table of squares using a for statement */\n", " \n", "#include \n", " \n", "int main(void)\n", "{\n", " // your code here\n", " return 0;\n", "}\n" ] } ], "metadata": { "kernelspec": { "display_name": "C", "language": "c", "name": "c" }, "language_info": { "file_extension": ".c", "mimetype": "text/plain", "name": "c" } }, "nbformat": 4, "nbformat_minor": 2 }