달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

3-7 월소득에 대한 소득세율은 다음의 표와 같다. 월소득을 입력받아서 소득세를 산출하여 화면에 출력하는 프로그램을 작성하라. 실행결과를 알아보기 쉽게 프로그램을 작성하라.

소득

세율

70만원 이하

공제

70만원 이상 150만원 이하

3%

150만원 이상 250만원 이하

5%

250만원 이상

7%

핵심은 조건문 범위와 세율을 각의 문자형으로 분리하는 것이다.

Posted by C언어 보이
|

3-16. 두 개의 양의 정수 m과 n을 입력받아 Fibonacci Series를 출력하는 프로그램을 작성하라. Fibonacci Series는 m에서 시작하여 n개를 작성한다. Fibonacci Series 작성은 첫번째 숫자는 m이고, 두번째 숫자는 첫번째 숫자와 같다. 세번째 숫자는 첫번째 숫자와 두번째 숫자의 합이다. 그 다음의 숫자는 항상 앞의 두 숫자를 합한 값이 된다. 1부터 시작하는 Fibonacci Series는 다음과 같다.

         1, 1, 2, 3, 5, 8, 13……….

  1. 변수는 one, two, three로 하고, one은 m을 값으로 받고 two는 앞의 one의 값을 받는다. one과 two를 출력한다.
  2. one과 two를 더하여 three에 넣고 three를 출력한다.
  3. two의 값을 one에 넣고 three의 값을 two에 넣는다.
  4. one와 two를 더하여 three에 넣고 three를 출력한다.
  5. c)와 d)를 반복한다.

    

    첫번째는 1과 13, 두번째는 3과 9를 입력하여 실행결과를 출력하라.

 

  1. 우선 수열의 첫 세자리는 변하지 않으므로, 조건문이나 반복문을 실행하기 전에 정의한다.

     

  2. 그 다음, 수열의 원소 개수(n)를 0,1,2로 입력한 경우 (즉, 특수한 경우의 실행명령)를 정의한다.

원소가 0이면 출력할 게 없으므로 return 0.

원소가 하나면 one만 출력, 두 개면 one출력, two출력한다. 그 후에 one, two를 출력하는 코드를 피하기 위하여 return 0을 써준다.

 

 

  1. 원소가 세 개 이상일 경우, 3번째 원소부터 마지막 원소까지는 반복문으로 출력한다.

    여기서 핵심은, 출력할 각 원소를 three(one+two)로 정의하고, three에 더해질 one과 two를 한 단계 앞쪽으로 이동시키는 것이다.

Posted by C언어 보이
|

3-15. 100보다 작은 소수를 구하는 프로그램을 작성하라. 소수란 1 자신으로만 나누어지는 수를 말한다.

 

 

이중포문의 바깥포문으로 소수 후보인 수들을 불러온다.

안쪽포문에서는 불러온 후보 수를 소수인지 검사한다.

검사조건은 불로온 수num이 1부터 num-1까지의 수로 나누어지는 경우가 한 번도 없는지를 검사하는 것이다.

만약 한 번이라도 있으면 (즉, 소수가 아니면), 안쪽 if의 조건식을 위배 (num%checknum==0)하여 compare++이 실행되지 못하다. Compare++이 한 번이라도 실행되지 못하면, 안쪽포문이 끝난 후에 compare의 크기는 (num-1) 보다 작게 된다. 즉, if (compare==num-1)식이 실행되지 못하여 '소수확인'출력이 되지 않는다.

Posted by C언어 보이
|

 

3-14. 구구단의 2단부터 5단까지를 반복문을 이용하여 출력시켜라. 이중 반복문으로 작성하라.

    

안에 반복문에서 num1을 증가.

그 후 \n삽입하여 줄 분리.

바깥 포문에서 num2를 증가.

 

 

Posted by C언어 보이
|

3-13. 두개의 정수를 입력받아, 첫번째 숫자부터 두번째 숫자사이의 모든 짝수의 합을 구하는 프로그램을 작성하라.

 

조건문으로 두 수를 큰 수와 작은 수로 분리. 짝수는 %연산자로 검사. 임의의 변수를 작은 수에서부터 큰 수까지 ++ 시키면서 짝수일 때 누적합에 더 함.

Posted by C언어 보이
|

 

3-12. 1 + 2 + 3 + ....... + n 1000 넘는 최초의 n 계산하는 프로그램을 작성하시오.

 

 

 

누적합 구하기. for문으로 더하는 수를 ++하고, for문 밖에서 더하는 수의 최종값을 출력하면 된다.

Posted by C언어 보이
|

 

3-10. 산술 연산자 (+, -, *, /, %) 하나와 두개의 피연산자를 입력하여 수식과 답을 출력하는 프로그램을 작성하라. 산술 연산자를 switch문을 이용하여 구분하라. 만약 산술 연산자가 잘못 입력된 경우에는 오류메세지를 출력하고 프로그램이 종료된다. 부분은 default 이용하여 처리하라. 프로그램은 사용자에게 입력연산자와 피연산자의 입력을 안내해 주어야 한다. 연산자로 문자 'q' 입력하면 프로그램은 종료된다.

 

연산의 종류를 mode로 받아서, switch case문의 인자로 넣는다.

Posted by C언어 보이
|

3-9. 키보드로부터 정수를 입력받아 평균을 계산하는 프로그램을 while문을 이용하여 작성하라. 0 입력되면 프로그램은 종료된다. 평균값을 계산하려면 프로그램내에서 입력되는 숫자의 개수를 헤아려야 된다.

    

 

프로그램내에서 입력되는 숫자의 개수는, 숫자 입력시 count++. 입력반복은 while(1)무한루프로 하고 0을 누르면 return 0으로 무한루프를 탈출한다.

Posted by C언어 보이
|

3-8. 1에서 100까지의 정수를 for문을 사용하여 줄에 10개씩 출력하라.

핵심은 10,20마다 줄을 띄우는 것이며, 조건의 검사를 나머지 연산자 로 하는 것이다.

Posted by C언어 보이
|

3-4. 섭씨온도(Centigrade)를 입력받았을 경우는 화씨온도(Faherenheit)로, 화씨온도를 입력받았을 경우는 섭씨온도로 전환하는 프로그램을 작성하라. 섭씨와 화씨를 구하는 식은 다음과 같다.

 

C = 5 * (F - 32) div 9

F = (9 * C + 160) div 5

    

 

조건검사는 mode 글자로.

계속입력은 무한루프 while(1)

Posted by C언어 보이
|