본문 바로가기
쉽게 풀어쓴 C언어 Express (개정3판)

쉽게 풀어쓴 C언어 Express (개정3판) 7장 Programming 문제풀이

by Enhydra lutris 2023. 3. 30.

예전에 써뒀던 글인데 코드 복붙을 잘못해서 들여쓰기가 안되어 있습니다

개발도구에 코드 복붙하시고, 비주얼 스튜디오 기준 Ctrl + K + F를 하면 들여쓰기가 됩니다.


1번


#include <stdio.h>


int main(void)

{

int x, i;


printf("카운터의 초기값을 입력하시오: ");

scanf("%d", &x);


for (i=x; i > 0; i--)

printf("%d ",i);


printf("\a");


return 0;

}


2번


#include <stdio.h>


int main(void)

{

int a=0, i;


for (i = 1; i<101; i++)

{

if (i % 3 == 0)

{

a += i;

}

}


printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다.", a);


return 0;

}


3번


#include <stdio.h>


int main(void)

{

int num, i;

printf("정수를 입력하시오: ");

scanf("%d", &num);


printf("약수: ");

for (i = 1; i <= num; i++)

{

if (num % i == 0)

printf("%d ", i);

}

}


4번


#include <stdio.h>


int main(void)

{

int i,j;


for (i = 0; i <= 7; i++)

{

for (j = 7 - i; j > 0; j--)

{

printf(" ");

}

for (j = i; j > 0; j--)

{

printf("*");

}

printf("\n");

}


return 0;

}


5번


#include <stdio.h>


int main(void)

{

int num, i, j;


printf("정수를 입력하시오: ");

scanf("%d", &num);


for (i= 1; i <= num; i++)

{

for (j = 1; j <= i; j++)

{

printf("%d", j);

}

printf("\n");

}


return 0;

}


6번


#include <stdio.h>


int main(void)

{

char op;

int x, y, result;


printf("*****************\nA---- Add\nS---- Subtract\nM---- Multiply\nD---- Divide\nQ---- Quit\n*****************\n");

do

{

printf("연산을 선택하시오:");

scanf(" %c", &op);


if (op == 'Q')

break;


switch (op)

{

case 'A':

case 'S':

case 'M':

case 'D':

printf("두수를 공백으로 분리하여 입력하시오: \n");

scanf("%d %d", &x, &y);


switch (op)

{

case 'A':

printf("%d\n", x + y);

break;

case 'S':

printf("%d\n", x - y);

break;

case 'M':

printf("%d\n", x * y);

break;

case 'D':

printf("%d\n", x / y);

break;

default:

break;

}

break;

}

} while (1);

return 0;

}


7번


#include <stdio.h>


int main(void)

{

int i, j, count=0;


for (j = 2; j <= 100; j++)

{

for (i = 1; i <= j; i++)

{

if (j % i == 0)

count++;

}


if (count==2)

{

printf("%d ", j);

}

count = 0;

}


return 0;

}


8번


#include <stdio.h>


int main(void)

{

int num, i=0;


while (1)

{

printf("막대의 높이(종료: -1): ");

scanf("%d", &num);

if (num == -1)

{

break;

}

else

{

while (i < num)

{

i++;

printf("*");

}

}

printf("\n")

}


return 0;

}


9번


#include <stdio.h>


int main(void)

{

int i=0, sum = 0;


while (1)

{

i++;

sum += i;


if (sum > 10000)

{

sum -= i;

i--;

break;

}

}


printf("1부터 %d까지의 합니 %d입니다.", i, sum);


return 0;

}


10번


#include <stdio.h>


int main(void)

{

int n, i;

double r, result = 1;



printf("실수의 값을 입력하시오: ");

scanf("%lf", &r);

printf("거듭제곱횟수를 입력하시오: ");

scanf("%d", &n);


for (i = 0; i < n; i++)

{

result *= r;

}

printf("결과 값은 %lf", result);

}


11번


#include <stdio.h>


int main(void)

{

int n, i, result = 0;

printf("n의 값을 입력하시오: ");

scanf("%d", &n);


for (i = 1; i <= n; i++)

{

result += i * i;

}

printf("계산값은 %d입니다.", result);


return 0;

}

12번


#include <stdio.h>


int main(void)

{

int a = 0, b = 1, c, n, i;


printf("몇번째 항까지 구할까요? ");

scanf("%d", &n);


for (i = 0; i <= n; i++)

{

printf("%d, ", a);

c = a + b;

a = b;

b = c;

}


return 0;

}

13번


int main(void)

{

int n, r, result = 1, i;


printf("n의 값: ");

scanf("%d", &n);

printf("r의 값: ");

scanf("%d", &r);


for (i = n; i >= (n - r + 1); i--)

{

result *= i;

}


printf("순열의 값은 %d입니다.", result);


return 0;

}

14번


#include <stdio.h>


int main(void)

{

int num;


printf("정수를 입력하시오: ");

scanf("%d", &num);


do

{

printf("%d", num % 10);

num = num / 10;

} while (num != 0);

printf("\n");


return 0;

}

댓글