Skip to content
Home » 쉽게 풀어 쓴 C 언어 Express 7 장 Programming | [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍 모든 답변

쉽게 풀어 쓴 C 언어 Express 7 장 Programming | [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍 모든 답변

당신은 주제를 찾고 있습니까 “쉽게 풀어 쓴 c 언어 express 7 장 programming – [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍“? 다음 카테고리의 웹사이트 https://kk.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://kk.taphoamini.com/wiki/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 한빛미디어 이(가) 작성한 기사에는 조회수 20,134회 및 좋아요 77개 개의 좋아요가 있습니다.

Table of Contents

쉽게 풀어 쓴 c 언어 express 7 장 programming 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍 – 쉽게 풀어 쓴 c 언어 express 7 장 programming 주제에 대한 세부정보를 참조하세요

※동영상 주요 학습 내용
-CentOS의 bash 셸
-환경 변수
-셸 스크립트 프로그래밍
-셸 스크립트의 작성과 실행
-변수의 기본
-변수의 입력과 출력
-숫자 계산
-파라미터(Parameter) 변수
-기본 if 문
-if~else 문
-조건문에 들어가는 비교 연산자
-파일과 관련된 조건
-case~esac 문
-AND, OR 관계 연산자
-반복문 – for문
-반복문 – while문
-until 문
-break, continue, exit, return 문
-사용자 정의 함수
-함수의 파라미터 사용
-eval
-export
-printf
-set과 $(명령어)
-shift
“동영상 강의와 책으로, 리눅스 설치 후 한달 뒤에도 지우지 않고 쓸 것을 보장한다!”
그 동안 리눅스 설치만 해놓거나 설치부터 막혀서 포기했던 경험이 있는 학습자라면, 이번이 리눅스를 마스터할 마지막 기회다. 우재남 저자는 ‘초보자도 리눅스의 실무 기능을 막힘 없이 실습 가능하도록’ 17년간의 생생한 강의 경험을 책과 동영상에 담아냈다.
FTP 서버는 물론, NFS 서버, Samba 서버, DHCP 서버, 프록시 서버 등 실제 학생들이 어려워했던 네트워크 서버 실습 과정도 최대한 ‘현장의 눈높이에 맞춰, 현장의 목소리’를 담는 데 주력했다.
※다음에 해당하시는 분에게 추천드립니다.
– 리눅스를 처음 시작하는 학습자
– 리눅스 설치부터 막혀서 포기한 경험이 있는 학습자
– 리눅스 실무 기능을 익히길 바라는 초보자
※이 동영상은 한빛미디어 도서 『이것이 리눅스다』를 토대로 제작되었습니다.
▶ 도서 정보 : http://www.hanbit.co.kr/store/books/look.php?p_code=B2195555382
▶ Q\u0026A : https://cafe.naver.com/thisislinux

쉽게 풀어 쓴 c 언어 express 7 장 programming 주제에 대한 자세한 내용은 여기를 참조하세요.

[C] 쉽게 풀어쓴 C EXPRESS 제 7장 Programming 문제 풀이

[C] 쉽게 풀어쓴 C EXPRESS 제 7장 Programming 문제 풀이. ‘CheolMin’ 2018. 11. 20. 10:00. 반응형. 1. 1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 …

+ 여기를 클릭

Source: cheolmini.tistory.com

Date Published: 5/5/2021

View: 7456

c언어express 개정3판 7장 programming solution – 네이버블로그

쉽게풀어쓴c언어express #개정3판 #programming #chapter7. ​. 1.가끔은 일정한 시간 동안 아무 일도 하지 않으면서 시간을 지연시킬 목적으로 반복문 …

+ 여기에 더 보기

Source: blog.naver.com

Date Published: 5/6/2021

View: 4729

쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설 – 문풀이

쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설 1. (a) #include int main(vo) { int …

+ 여기에 더 보기

Source: tistorysolution.tistory.com

Date Published: 4/13/2022

View: 8187

쉽게 풀어쓴 C언어 Express 7장 Programming – 책 알려주는 남자

쉽게 풀어쓴 C언어 Express 7장 Programming. 얼음꿀차 2018. 9. 28. 20:20. 7장 Programming. 1. (a). #include //while. int main(). {. int i=1, sum=0;.

+ 더 읽기

Source: readbookbehappy.tistory.com

Date Published: 10/1/2021

View: 6520

[쉽게 풀어 쓴 C언어 Express] 7장 프로그래밍 솔루션 답지

[쉽게 풀어 쓴 C언어 Express] 7장 프로그래밍 솔루션 답지. 이얏호이야호 2020. 4. 9. 23:20. (a). #include . int main(vo) {. int i, sum;.

+ 자세한 내용은 여기를 클릭하십시오

Source: chuinggun.tistory.com

Date Published: 4/2/2021

View: 6722

쉽게 풀어쓴 C언어 Express 7장 Programming

쉽게 풀어쓴 C언어 Express 7장 Programming. Dainty™ 2017. 9. 20. 11:45. 1.1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램을 다음의 3가지 반복 …

+ 여기에 더 보기

Source: daintystory.tistory.com

Date Published: 11/5/2021

View: 1969

C언어 Express 7장 Programming 심화 문제 추가 – 공부 기록장

C언어 Express 7장 Programming 심화 문제 추가. dream_for 2021. 1. 22. 23:42. 1. 초기값 입력 받아 1씩 감소시키며 0이 될 때까지 반복하여 출력.

+ 더 읽기

Source: dream-and-develop.tistory.com

Date Published: 8/1/2022

View: 4846

쉽게 풀어 쓴 C 언어 Express 7 장

C프로그래밍. 쉽게 풀어쓴 C언어 EXPRESS 연습문제 7장 Programming … #include int main() { int i, j; for ( i = 1; i <= 7; ...

+ 여기에 더 보기

Source: you.dianhac.com.vn

Date Published: 1/1/2021

View: 2559

주제와 관련된 이미지 쉽게 풀어 쓴 c 언어 express 7 장 programming

주제와 관련된 더 많은 사진을 참조하십시오 [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[이것이 리눅스다] 7장. 셸 스크립트 프로그래밍
[이것이 리눅스다] 7장. 셸 스크립트 프로그래밍

주제에 대한 기사 평가 쉽게 풀어 쓴 c 언어 express 7 장 programming

  • Author: 한빛미디어
  • Views: 조회수 20,134회
  • Likes: 좋아요 77개
  • Date Published: 2015. 7. 2.
  • Video Url link: https://www.youtube.com/watch?v=soKQRQEzqkA

[C] 쉽게 풀어쓴 C EXPRESS 제 7장 Programming 문제 풀이

반응형

1. 1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램을 다음의 3가지 반복구조를 사용하여 작성하라.

[CODE]

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 32 33 34 35 36 37 38 #include < stdio.h > int main( void ) { int x = 1 , sum = 0 ; // while 루프 while (x < = 100 ) { if (x % 3 = = 0 ) sum + = x; x + + ; } // for 루프 sum = 0 ; for (x = 1 ; x < = 100 ; x + + ) { if (x % 3 = = 0 ) sum + = x; } // do...while 루프 x = 1 ; sum = 0 ; do { if (x % 3 = = 0 ) sum + = x; x + + ; } while (x < = 100 ); printf ( "[while 루프문] 1~100사이의 모든 3의배수의 합은 %d 입니다 " , sum); printf ( "[for 루프문] 1~100사이의 모든 3의배수의 합은 %d 입니다 " , sum); printf ( "[do...while 루프문] 1~100사이의 모든 3의배수의 합은 %d 입니다 " , sum); return 0 ; } Colored by Color Scripter cs [OUTPUT] 2. 반복 루프는 파일의 끝을 만날 때까지 자료를 처리하는데 많이 사용된다. 표준 입력에서는 사용자가 Ctrl + Z 를 입력하면 파일의 끝으로 간주한다. scanf()가 Ctrl + Z를 만나면 EOF를 반환한다. 사용자가 Ctrl + Z를 누르기 전까지, 입력한 정수의 합을 계산하여 출력하는 프로그램을 작성하여 테스트하라. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include < stdio.h > int main( void ) { int x,sum = 0 ; while ( scanf ( “%d ” , & x) ! = EOF) { sum + = x; } printf ( “정수의 핪은 %d 입니다

” , sum); return 0 ; } Colored by Color Scripter cs

[OUTPUT]

3. 반복 루프를 사용하여 다음과 같은 패턴을 출력하는 프로그램을 작성하라.

[CODE]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include < stdio.h > int main( void ) { int i, j,x; for (i = 1 ; i < = 7 ; i + + ) { for (x = 7 - i; x > 0 ; x – – ) { printf ( ” ” ); } for ( j = 1 ; j < = i; j + + ) { printf ( "*" ); } printf ( " " ); } return 0 ; } cs [OUTPUT] 4. 중첩 반복문을 사용하여서 다음과 같이 출력하는 프로그램을 작성하여 보자. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include < stdio.h > int main( void ) { int x, i, j; printf ( “정수를 입력하시오: ” ); scanf ( “%d” , & x); for (i = 1 ; i < = x; i + + ) { for (j = 1 ; j < = i; j + + ) { printf ( "%d" , j); } printf ( " " ); } return 0 ; } cs [OUTPUT] 5. 가끔은 일정한 시간 동안 아무 일도 하지 않으면서 시간을 지연시킬 목적으로 반복문을 사용하기도 한다. 사용자에게서 하나의 수를 입력받아서 변수에 저장한다. 반복문을 사용하여 이 변수의 값을 1씩 감소시키면서 이 변수의 값이 0이 될 때까지 반복한다. 반복이 끝나면 벨소리를 낸다. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #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 ; } cs

[OUTPUT]

6. 앞장에서 간단한 정수 계산기를 만들어본 적이 있다. 이 계산기 프로그램에 메뉴를 추가하도록 한다. 다음과 같은 메뉴를 화면에 출력하고 사용자가 메뉴 중에서 하나를 선택할 때까지 반복을 계속한다. do…while 반복문을 사용하여 사용자가 적절한 선택을 했는지를 검사하도록 하라. 만약 사용자가 A, S, M, D, Q가 아닌 다른 문자를 입력하면 “연산을 선택하시요:” 메시지를 계속해서 출력한다. 하나의 메뉴가 선택되면 해당되는 연산을 실행하고 다시 메뉴를 선택할 수 있도록 하라. 반복을 종료하는 메뉴인 Q는 break 문을 이용하여 다시 구현하도록 하라.

[CODE]

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include < stdio.h > int main( void ) { int x, y; char ch; printf ( “************************

” ); printf ( “A—- Add

” ); printf ( “S—- Subtract

” ); printf ( “M—- Multiply

” ); printf ( “D—- Divide

” ); printf ( “Q—- Quit

” ); printf ( “************************

” ); do { printf ( “연산을 선택하시오: ” ); scanf ( ” %c” , & ch); if (ch = = ‘Q’ ) break ; printf ( “두 수를 공백으로 분리하여 입력하시오: ” ); scanf ( “%d %d” , & x, & y); if (ch = = ‘A’ ) { printf ( “연산의 결과는 %d 입니다

” , x + y); continue ; } else if (ch = = ‘S’ ) { printf ( “연산의 결과는 %d 입니다

” , x – y); continue ; } else if (ch = = ‘M’ ) { printf ( “연산의 결과는 %d 입니다

” , x * y); continue ; } if (ch = = ‘D’ ) { printf ( “연산의 결과는 %d 입니다

” , x / y); continue ; } } while ( 1 ); return 0 ; } Colored by Color Scripter cs

[OUTPUT]

7. 2와 100 사이에 있는 모든 소수(prime number)를 찾는 프로그램을 작성하라. 정수가 소수가 되려면 1과 자기 자신만을 약수로 가져야 한다.

[CODE]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include < stdio.h > int main( void ) { int i, j; for (i = 2 ; i < = 100 ; i + + ) { for (j = 2 ; j < = i - 1 ; j + + ) { if (i % j = = 0 ) break ; } if (i = = j) printf ( "%d " , i); } printf ( " " ); return 0 ; } cs [OUTPUT] 8. 컴퓨터는 막대 그래프를 그리는 데도 사용된다. 사용자로부터 1부터 50사이의 숫자를 입력받아서 숫자만큼의 별표를 출력하는 프로그램을 작성하라. 막대는 세로로 그려지게 된다. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include < stdio.h > int main( void ) { int x = 0 ; int i, y = 0 ; while (x > = 0 ) { printf ( “막대의 높이(종료: -1): ” ); scanf ( “%d” , & x); for (i = 0 ; i < = x; i + + ) { printf ( "*" ); } printf ( " " ); } return 0 ; } cs [OUTPUT] 9. (1+2+3+...+n)가 10000을 넘지 않으면서 가장 큰 값과 그 때의 n의 값을 구하라. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include < stdio.h > int main( void ) { int i, j, sum = 0 ; for (i = 1 ;; i + + ) { sum + = i; if (sum > 10000 ) { j = i – 1 ; sum – = i; break ; } } printf ( “1부터 %d까지의 합이 %d입니다.” , j, sum); return 0 ; } Colored by Color Scripter cs

[OUTPUT]

10. 실수의 거듭 제곱값을 계산하는 프로그램을 작성하여 보자. 사용자로부터 하나의 실수 r와 거듭 제곱 횟수를 나타내는 정수 n을 입력받아서 을 구하여 화면에 출력한다.

[CODE]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include < stdio.h > int main( void ) { double r, n, result = 1. 0 ; printf ( “실수의 값을 입력하시요: ” ); scanf ( “%lf” , & r); printf ( “거듭제곱횟수를 입력하시오:” ); scanf ( “%lf” , & n); while (n ! = 0 ) { result * = r; n – – ; } printf ( “결과값은 %lf” , result); return 0 ; } cs

[OUTPUT]

11. 의 값을 계산하여 출력하여 보자.

[CODE]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include < stdio.h > int main( void ) { int i, x; int result = 0 ; printf ( “n의 값을 입력하시오: ” ); scanf ( “%d” , & x); for (i = 1 ; i < = x; i + + ) { result + = i * i; } printf ( "계산값은 %d입니다. " , result); return 0 ; } Colored by Color Scripter cs [OUTPUT] 12. 피보나치 수열은 다음과 같이 정의되는 수열이다. 피보나치 수열에선느 앞의 2개의 원소를 합하여 뒤의 원소를 만든다. 피보나치 수열은 컴퓨터에서도 탐색 문제 등에 사용되기도 한다. 피보나치 수열을 생성하여 출력하는 프로그램을 작성하여 보자. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include < stdio.h > int main( void ) { int n, c,i, a = 0 , b = 1 ; printf ( “몇 번째 항까지 구할까요? ” ); scanf ( “%d” , & n); printf ( “0 1” ); for (i = 0 ; i < n - 1 ; i + + ) { c = a + b; printf ( " %d" , c); a = b; b = c; } return 0 ; } cs [OUTPUT] 13. 서로 다른 n개에서 r개를 택하여 일렬로 나열하는 방법의 수를 순열(permutation)이라 하고, 로 표시한다. 순열은 다음과 같은 식을 이용하여 구할 수 있다. 순열을 구하는 프로그램을 작성하라. n과 r은 사용자가 입력할 수 있도록 하라 = n(n-1)(n-2) (n-r+1) [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include < stdio.h > int main( void ) { int i, n, r, P = 1 ; printf ( “n의 값: ” ); scanf ( “%d” , & n); printf ( “r의 값: ” ); scanf ( “%d” , & r); for (i = n; i > = n – (r + 1 ); i – – ) { P * = i; } printf ( “순열의 값은 %d 입니다” , P); return 0 ; } Colored by Color Scripter cs

[OUTPUT]

14. 사용자가 입력한 ㅌ특정한 정수의 자리수를 반대로 출력하는 프로그램을 작성하라. 예를 들어서 사용자가 정수 1206을 입력하였다면 6021이 출력되어야 한다/ 만약 음수를 입력하면 오류 메시지를 출력하라. do…while 문을 사용하여 보라.

[CODE]

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 #include < stdio.h > int main( void ) { int n, a, b, c, d; printf ( “정수를 입력하시오: ” ); scanf ( “%d” , & n); do { if (n < 0 ) break ; a = n % 10 ; b = (n / 10 ) % 10 ; c = (n / 100 ) % 10 ; d = (n / 1000 ) % 10 ; printf ( "%d%d%d%d" , a, b, c, d); break ; } while ( 1 ); return 0 ; } Colored by Color Scripter cs [OUTPUT] 반응형

c언어express 개정3판 7장 programming solution

대학 c언어express 개정3판 7장 programming solution 22세기휴먼 ・ URL 복사 본문 기타 기능 공유하기 신고하기 #쉽게풀어쓴c언어express #개정3판 #programming #chapter7 ​ 1.가끔은 일정한 시간 동안 아무 일도 하지 않으면서 시간을 지연시킬 목적으로 반복문을 사용하기도 한다. 사용자에게서 하나의 수를 입력받아서 변수에 저장한다. 반복문을 사용하여 이 변수의 값을 1씩 감소시키면서 이 변수의 값이 0이 될 떄까지 반복한다. 반복이 끝나면 벨소리를 낸다. : #include ​ int main(void){ ​ int i,x; ​ printf(“카운터의 초기값을 입력하시오: “); ​ scanf(“%d”,&x); ​ for(i=x; i>=1; i–) { printf(“%d “,i); } printf(“\a”); return 0; ​ } ​ 2.1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램을 반복 구조를 사용하여 작성하라. : #include ​ int main() { int n,input; ​ printf(“정수를 입력하시오:”); ​ scanf(“%d”,&input); ​ printf(“약수: “); ​ for(n=1; n<=input; n++) { if(input%n==0) { printf("%d ",n); } } return 0; } ​ 4.반복루프를 사용하여 다음과 같은 패턴을 출력하는 프로그램을 작성하라. : #include int main(void) { int y, x; for (y=0;y<7;y++) { for (x=0;x<(6-y);x++) ​ printf(" "); ​ for (x=6-y;x<7;x++) ​ printf("*"); ​ printf(" "); ​ } return 0; ​ } ​ 5.중첩 반복문을 사용하여서 다음과 같이 출력하는 프로그램을 작성하여 보자. : #include int main(void) { int i,j, input; ​ printf(“정수를 입력하시오: “); ​ scanf(“%d”,&input); ​ for(i=1; i<=input; i++) { for(j=0; j ​ int main(void) { int n,m; ​ char ch; ​ printf(“**************

“); ​ printf(“A—- Add

“); ​ printf(“S—- Subtract

“); ​ printf(“M—- Multiply

“); ​ printf(“D—- Divide

“); ​ printf(“Q—- Quit

“); ​ printf(“**************

“); ​ do ​ { ​ printf(“연산을 선택하시오 : “); ​ scanf(“%c”, &ch); ​ if (ch == ‘Q’) ​ break; ​ if (ch == ‘A’) { printf(“두수를 공백으로 분리하여 입력하시오: “); ​ scanf(“%d %d”, &n, &m); ​ printf(“%d

“, n + m); ​ continue; } ​ if (ch == ‘S’) { printf(“두수를 공백으로 분리하여 입력하시오: “); ​ scanf(“%d %d”, &n, &m); ​ printf(“%d

“, n – m); ​ continue; } ​ if (ch == ‘M’) { printf(“두수를 공백으로 분리하여 입력하시오: “); ​ scanf(“%d %d”, &n, &m); ​ printf(“%d

“, n * m); ​ continue; } ​ if (ch == ‘D’) { printf(“두수를 공백으로 분리하여 입력하시오: “); ​ scanf(“%d %d”, &n, &m); ​ printf(“%f

“, (float)n / m); ​ } } while (1); ​ return 0; } ​ 7.2와 100사이에 있는 모든 소수(prime number)를 찾는 프로그램을 작성하라. 정수가 소수가 되려면 1과 자기자신만을 약수로 가져야 한다. : #include ​ int main() { ​ for (int i = 1; i <= 100; i++) { int n = 0; for (int d = 1; d <= i; d++) { if (i % d == 0) n++; } if (n == 2) printf("%d ", i); } ​ return 0; } ​ 8.컴퓨터는 막대 그래프를 그리는 데도 사용된다. 사용자로부터 1부터 50사이의 숫자를 입력받아서 숫자만큼의 별표를 출력하는 프로그램을 작성하라. 막대는 가로로 그려지게 된다. : #include ​ int main() { ​ int l,i; while(l!=-1) { printf(”

막대의 높이(종료: -1): “); ​ scanf(“%d”,&l); ​ for(i=1; i<=l; i++) { printf("*"); } } return 0; } ​ 9.(1+2+3+...+n)가 10000을 넘지 않으면서 가장 큰 값과 그 때의 n의 값을 구하라. : #include ​ int main() { int i,n,sum; ​ i=0; sum=0; n=0; ​ while(sum<=10000) { i++; sum+=i; } ​ n=i-1; ​ printf("1부터 %d까지의 합이 %d입니다.",n,sum-i); ​ return 0; } ​ 10.실수의 거듭 제곱값을 계산하는 프로그램을 작성하여 보자. 사용자로부터 하나의 실수 r와 거듭제곱 횟수를 나타내는 정수n을 입력받아서 rn을 구하여 화면에 출력한다. : int main() { double i,j; int n,output; ​ j=1; ​ printf("실수의 값을 입력하시오: "); ​ scanf("%lf",&i); ​ printf("거듭제곱횟수를 입력하시오: "); ​ scanf("%d",&n); ​ for(output=1; output<=n; output++) { j*=i; ​ } ​ printf("결과값은 %lf",j); ​ return 0; } ​ 11.1*1+2*2+3*3+...n*n의 값을 계산하여 출력하여 보자. : #include ​ int main() { int i,j,n; ​ printf(“n의 값을 입력하시오:”); scanf(“%d”,&n); ​ for(i=1; i<=n; i++) { j+=i*i; } ​ printf("계산값은 %d 입니다.",j); return 0; } ​ 12.피보나치 수열은 다음과 같이 정의되는 수열이다. (이하 생략) :#include ​ int main() { int a,b,c,input,i; ​ printf(“몇번째 항까지 구할까요? “); scanf(“%d”,&input); ​ a=0; b=1; c=a+b; a=b; b=c; c=a+b; ​ for(i=0; i<=input-1; i++) { ​ if(i%3==0) printf("%d, ",a); ​ if((i-1)%3==0) printf("%d, ",b); ​ if((i-2)%3==0) printf("%d, ",c); ​ a=b; b=c; c=a+b; } return 0; } ​ 13.서로다른 n개에서 r개를 택하여 일렬로 나열하는 방법의 수를 순열이라 하고, nPr로 표시한다. 순열은 다음과 같은 식을 이용하여 구할 수 있다.순열을 구하는 프로그램을 작성하라. n과 r은 사용자가 입력할 수 있도록 하라. (이하생략) : #include ​ int main() { int n,r,i,j; ​ j=1; ​ printf(“n의 값:\t”); scanf(“%d”,&n); ​ printf(“r의 값:\t”); scanf(“%d”,&r); ​ for(i=n; i>=(n-r+1); i–) { j*=i; } ​ printf(“순열의 값은 %d입니다.”,j); ​ return 0; } ​ 14.사용자가 입력한 특정한 정수의 자리수를 반대로 출력하는 프로그램을 작성하라. 예를 들어서 사용자가 정수 1206을 입력하였다면 6021이 출력되어야 한다. do…while 문을 사용하여 보라. : ​ ​ ​ 인쇄

쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설

반응형

728×170

쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설

쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설

1.

(a)

#include int main(void) { int i, sum; i = 1; sum = 0; while(i<=100) { if( (i%3)==0 ) sum += i; i++; } printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다. ", sum); return 0; } (b) #include int main(void) { int i, sum; sum = 0; for (i=1;i<=100;i++) if( (i%3)==0 ) sum += i; printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다. ", sum); return 0; } (c) #include int main(void) { int i, sum; i = 1; sum = 0; do { if( (i%3)==0 ) sum += i; i++; } while(i<=100) ; printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다. ", sum); return 0; } 2. #include int main(void) { int number, sum; sum = 0; while (scanf(“%d”, &number) != EOF ) { sum += number; } printf(“정수의 합은 %d입니다.

“, sum); return 0; }

3.

#include int main(void) { int y, x; for (y=0;y<7;y++) { for (x=0;x<(6-y);x++) printf(" "); for (x=6-y;x<7;x++) printf("*"); printf(" "); } return 0; } 4. #include int main(void) { int x, y, number; printf(“정수를 입력하시오: “); scanf(“%d”, &number); for (y=1;y<=number;y++) { for (x=1;x<=y;x++) printf("%d ", x); printf(" "); } return 0; } 5. #include int main(void) { int counter, i; printf(“카운터의 초기값을 입력하시오: “); scanf(“%d”, &counter); for (i=counter;i>=1;i–) { printf(“%d “, i); } printf(“\a”); return 0; }

6.

// 간단한 산술 계산기 프로그램 #include int main(void) { char op; int x, y; while(1) { printf(“*****************

“); printf(“A—- Add

“); printf(“S—- Subtract

“); printf(“M—- Multiply

“); printf(“D—- Divide

“); printf(“Q—- Quit

“); printf(“*****************

“); printf(“연산을 선택하시오:”); scanf(” %c”, &op); if( op == ‘Q’ ) break; printf(“두수를 공백으로 분리하여 입력하시오: “); scanf(“%d %d”, &x, &y); if( op == ‘A’ ) printf(“%d

“, x + y); else if( op == ‘S’ ) printf(“%d

“, x – y); else if( op == ‘M’ ) printf(“%d

“, x * y); else if( op == ‘D’ ) printf(“%d

“, x / y); else printf(“지원되지 않는 연산자입니다.

“); } return 0; }

7.

#include int main(void) { int i, j; for (i=2; i<=100 ; i++) { for (j=2; j int main(void) { int i, j, height; while(1) { printf(“막대의 높이(종료: -1): “); scanf(“%d”, &height); if( height == -1 ) break; for (j=0; j int main(void) { int i, sum; i=0; sum = 0; while(1) { i++; sum += i; if( sum >= 10000 ) break; } printf(“1부터 %d까지의 합이 %d입니다.”, (i-1), sum-i); return 0; } 1부터 140까지의 합이 9870입니다.

10.

#include int main(void) { int n, i; double r, result; printf(“실수의 값을 입력하시오: “); scanf(“%lf”, &r); printf(“거듭제곱횟수를 입력하시오: “); scanf(“%d”, &n); result = 1.0; for (i=0;i int main(void) { int n, i; int result; printf(“n의 값을 입력하시오: “); scanf(“%d”, &n); result = 0; for (i=1;i<=n; i++) result += i*i; printf("계산값은 %d입니다.", result); return 0; } 12. #include int main(void) { int i, a=0, b=1, c, n; printf(“몇번째 항까지 구할까요? “); scanf(“%d”, &n); for (i=0;i<=n;i++) { printf("%d, ", a); c = a+b; a = b; b = c; } return 0; } 13. #include int main(void) { int n, r, result, i; printf(“n의 값: “); scanf(“%d”, &n); printf(“r의 값: “); scanf(“%d”, &r); result = 1; for (i=n;i>=(n-r-1);i–) result = result *i; printf(“%d, “, result); return 0; }

14.

#include #include int main(void) { int x, digit; printf(“정수를 입력하시오: ” ); scanf(“%d”, &x); do { digit = x % 10; x /= 10; printf(“%d”, digit); } while(x != 0); return 0; }

반응형

그리드형

책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 7장 Programming

7장 Programming

1.

(a)

#include //while

int main()

{

int i=1, sum=0;

while(i<=100) { if(i%3==0) sum = sum + i; i++; } printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다.", sum); return 0; } (b) #include // for

int main()

{

int i, sum=0;

for(i=1; i<=100; i++) { if(i%3==0) sum = sum + i; } printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다.", sum); return 0; } (c) #include // do..while

int main()

{

int i=1, sum=0;

do

{

if(i%3==0)

sum = sum + i;

i++;

} while(i<=100); printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다.", sum); return 0; } 2. #include

int main()

{

int x, sum;

while ( scanf(“%d”, &x) !=EOF)

{

sum = sum + x;

}

printf(“정수의 합은 %d입니다.”, sum);

return 0;

}

3.

#include

int main()

{

int x, y, z;

for (x=1; x<8; x++) { for (y=0; y<8-x; y++) printf(" "); for (z=0; z

int main()

{

int x,y,z;

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

scanf(“%d”, &x);

for(y=1; y<=x; y++) { for (z=1; z<=y; z++) printf("%d", z); printf(" "); } return 0; } 5. #include

int main()

{

int x, y;

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

scanf(“%d”, &x);

for (y=x; y>=1; y–)

printf(“%2d”, y);

printf(“(경고 벨소리)%c”, ‘\a’);

}

6.

#include

int main()

{

int x, y, z;

char c;

printf(“**************

“);

printf(“A—- Add

“);

printf(“S—- Subtract

“);

printf(“M—- Multiply

“);

printf(“D—- Divide

“);

printf(“Q—- Quit

“);

printf(“**************

“);

do

{

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

scanf(“%c”, &c);

if(c==’Q’)

break;

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

scanf(“%d %d”, &x, &y);

fflush(stdin);

switch(c)

{

case ‘A’:

z=x+y;

printf(“연산의 결과는 %d입니다

“, z); break;

case ‘S’:

z=x-y;

printf(“연산의 결과는 %d입니다

“, z); break;

case ‘M’:

z=x*y;

printf(“연산의 결과는 %d입니다

“, z); break;

case ‘D’:

z=x/y;

printf(“연산의 결과는 %d입니다

“, z); break;

}

} while(1);

return 0;

7.

#include

int main()

{

int x, y;

for(x=2; x<100; x++) { for (y=2; x>y; y++)

{

if(x%y == 0)

break;

}

if (x==y)

{

printf(“%d “, x);

}

}

return 0;

}

<참고 : is_prime 함수이용한 소수판별기>

#include

int is_prime(int);

int get_integer(void);

main()

{

int n, result;

n = get_integer();

result = is_prime(n);

if (result == 1)

printf(“%d은 소수입니다.

“, n);

else

printf(“%d은 소수가 아닙니다.

“, n);

return 0;

}

int get_integer(void)

{

int n;

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

scanf(“%d”, &n);

return n;

}

int is_prime(int n)

{

int divisors = 0, i;

for (i=1; i<=n; i++) { if (n%i == 0) divisors++; } return (divisors == 2); } 8. #include

int main()

{

int x,y;

while(1)

{

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

scanf(“%d”, &x);

if(x==-1)

break;

for(y=1; y<=x; y++) { printf("*"); } printf(" "); } return 0; } 9. #include //선if 후계산

int main()

{

int x, sum=0;

for(x=1; ; x++)

{

if(sum>10000)

break;

else

sum = sum + x;

}

printf(“1부터 %d까지의 합은 %d입니다.”, x-1-1, sum-(x-1));

}

또는

#include // 선계산 후if, 가장 나은 방법

int main()

{

int x, sum=0;

for(x=1; ; x++)

{

sum = sum + x;

if(sum>10000)

break;

}

printf(“1부터 %d까지의 합은 %d입니다.”, x-1, sum-x);

}

또는

#include

int main()

{

int x=0, sum=0;

while(1)

{

sum = sum + x;

if(sum>10000)

break;

x++;

}

printf(“1부터 %d까지의 합은 %d입니다.”, x-1, sum-x);

}

10.

#include

int main()

{

int r, n, i, result=1;

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

scanf(“%d”, &r);

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

scanf(“%d”, &n);

for(i=1; i<=n; i++) result = result *r; printf("결과값은 %d", result); } 11. #include

int main()

{

int i, n, result=0;

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

scanf(“%d”, &n);

for (i=1; i<=n; i++) result = result + i*i; printf("계산값은 %d입니다.", result); } 12. #include // a 출력방법

int main()

{

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

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

scanf(“%d”, &n);

for(i=0; i<=n; i++) { printf("%d ", a); c=a+b; a=b; b=c; } } 또는 #include // c 출력방법

int main()

{

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

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

scanf(“%d”, &n);

printf(“%d %d “, a, b);

for(i=1; i

int main()

{

int n, r, i, result=1;

printf(“n의 값: “);

scanf(“%d”, &n);

printf(“r의 값: “);

scanf(“%d”, &r);

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

result = result*i;

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

}

14.

#include

int main()

{

int i=1, n, x;

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

scanf(“%d”, &n);

do

{

x = n/i%10;

printf(“%d”, x);

i = i*10;

} while(i

[쉽게 풀어 쓴 C언어 Express] 7장 프로그래밍 솔루션 답지

(a)

#include

int main(void) {

int i, sum;

i = 1;

sum = 0;

while(i<=100) { if( (i%3)==0 ) sum += i; i++; } printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다. ", sum); return 0; } (b) #include

int main(void) {

int i, sum;

sum = 0;

for (i=1;i<=100;i++) if( (i%3)==0 ) sum += i; printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다. ", sum); return 0; } (참고) 물론 3에서 시작하여서 3씩 더하여도 된다. (c) #include

int main(void) {

int i, sum;

i = 1;

sum = 0;

do {

if( (i%3)==0 )

sum += i;

i++;

}

while(i<=100) ; printf("1부터 100 사이의 모든 3의 배수의 합은 %d입니다. ", sum); return 0; } 2. #include

int main(void) {

int number, sum;

sum = 0;

while (scanf(“%d”, &number) != EOF ) {

sum += number;

}

printf(“정수의 합은 %d입니다.

“, sum);

return 0;

}

3.

#include

int main(void) {

int y, x;

for (y=0;y<7;y++) { for (x=0;x<(6-y);x++) printf(" "); for (x=6-y;x<7;x++) printf("*"); printf(" "); } return 0; } 4. #include

int main(void) {

int x, y, number;

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

scanf(“%d”, &number);

for (y=1;y<=number;y++) { for (x=1;x<=y;x++) printf("%d ", x); printf(" "); } return 0; } 5. #include

int main(void) {

int counter, i;

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

scanf(“%d”, &counter);

for (i=counter;i>=1;i–) {

printf(“%d “, i);

}

printf(“\a”);

return 0;

}

6.

// 간단한 산술 계산기 프로그램

#include

int main(void) {

char op;

int x, y;

while(1) {

printf(“*****************

“);

printf(“A—- Add

“);

printf(“S—- Subtract

“);

printf(“M—- Multiply

“);

printf(“D—- Divide

“);

printf(“Q—- Quit

“);

printf(“*****************

“);

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

scanf(” %c”, &op);

if( op == ‘Q’ )

break;

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

scanf(“%d %d”, &x, &y);

if( op == ‘A’ )

printf(“%d

“, x + y); else if( op == ‘S’ )

printf(“%d

“, x – y); else if( op == ‘M’ )

printf(“%d

“, x * y); else if( op == ‘D’ )

printf(“%d

“, x / y); else

printf(“지원되지 않는 연산자입니다.

“);

}

return 0;

}

7.

#include

int main(void) {

int i, j;

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

int main(void) {

int i, j, height;

while(1) {

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

scanf(“%d”, &height);

if( height == -1 )

break;

for (j=0; j

int main(void) {

int i, sum;

i=0;

sum = 0;

while(1) {

i++;

sum += i;

if( sum >= 10000 )

break;

}

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

return 0;

}

1부터 140까지의 합이 9870입니다.

10.

#include

int main(void) {

int n, i;

double r, result;

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

scanf(“%lf”, &r);

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

scanf(“%d”, &n);

result = 1.0;

for (i=0;i

int main(void) {

int n, i;

int result;

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

scanf(“%d”, &n);

result = 0;

for (i=1;i<=n; i++) result += i*i; printf("계산값은 %d입니다.", result); return 0; } 12. #include

int main(void) {

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

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

scanf(“%d”, &n);

for (i=0;i<=n;i++) { printf("%d, ", a); c = a+b; a = b; b = c; } return 0; } 13. #include

int main(void) {

int n, r, result, i;

printf(“n의 값: “);

scanf(“%d”, &n);

printf(“r의 값: “);

scanf(“%d”, &r);

result = 1;

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

result = result *i;

printf(“%d, “, result);

return 0;

}

14.

#include

#include

int main(void) {

int x, digit;

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

scanf(“%d”, &x);

do {

digit = x % 10;

x /= 10;

printf(“%d”, digit);

}

while(x != 0);

return 0;

}

더 많은 쉽게 풀어 쓴 C언어EXPRESS 이론 솔루션 : https://chuinggun.tistory.com/category/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%9D%B4%EB%A1%A0

더 많은 쉽게 풀어 쓴 C언어EXPRESS 프로그래밍 솔루션 :

https://chuinggun.tistory.com/category/%EC%89%BD%EA%B2%8C%20%ED%92%80%EC%96%B4%20%EC%93%B4%20C%EC%96%B8%EC%96%B4%20Express%20%EC%8B%A4%EC%8A%B5%EB%AC%B8%EC%A0%9C

쉽게 풀어쓴 C언어 Express 7장 Programming

1.1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램을 다음의 3가지 반복구조를 사용하여 작성하라.

1-1.while

#include

void main()

​{

int i=1,sum=0;

while(i<=100) { if(i%3==0) sum=sum+i; i++; } printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다. ",sum); } 1-2.for #include void main() { int i,sum=0; ​ for(i=1;i<=100;i++) { if(i%3==0) sum=sum+i; } printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다. ",sum); } 1-3.do...while #include

void main()

{

int i=1,sum=0;

do

{

if(i%3==0)

sum=sum+i;

i++;

}while(i<=100); printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다. ",sum); } 2.반복 루프는 파일의 끝을 만날 때까지 자료를 처리하는 데 많이 사용한다. 표준 입력에서는 사용자가 ctrl+z를 입력하면 파일의 끝으로 간주한다. scanf()가 ctrl+z를 만나며 EOF를 반환한다. 사용자가 ctrl+z를 누르기 전까지 입력한 정수의 합을 계산하여 출력하는 프로그램을 작성하여 테스트하라. #include

void main()

{

int sum=0,num,count=0;

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

while(scanf(“%d”,&num)!=EOF)

{

sum=sum+num;

count=count+1;

}

printf(“정수 %d개의 합은 %d입니다.

“,count,sum);

printf(“정수 %d개의 평균은 %.2f입니다.

“,count,(double)sum/count);

}

3.반복 루프를 사용하여 다음과 같은 패턴을 출력하는 프로그램을 작성하라.

#include

void main()

{

int x,y,z;

for(x=0;x<7;x++) { for(y=0;y<7-x;y++) printf(" "); for(z=0;z<=x;z++) printf("*"); printf(" "); } } 4.중첩 반복문을 사용하여서 다음과 같이 출력하는 프로그램을 작성하여 보자. #include

void main()

{

int x,y,input;

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

scanf(“%d”,&input);

for(x=1;x<=input;x++) { for(y=1;y<=x;y++) printf("%d",y); printf(" "); } } 5.가끔은 일정한 시간 동안 아무 일도 하지 않으면서 시간을 지연시킬 목적으로 반복문을 사용하기도 한다. 사용자에게서 하나의 수를 입력받아서 변수에 저장한다. 반복문을 사용하여 이 변수의 값을 1씩 감소시키면서 이 변수의 값이 0이 될 때까지 반복한다. 반복이 끝나면 벨소리를 낸다. #include

void main()

{

int x,input;

char beep=’\a’;

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

scanf(“%d”,&input);

for(x=input;x>0;x–)

printf(“%2d”,x);

printf(“(경고 벨소리)%c

“,beep);

}

6.앞장에서 간단한 정수 계산기를 만들어본 적이 있다. 이 계산기 프로그램에 메뉴를 추가하도록 한다. 다음과 같은 메뉴를 화면에 출력하고 사용자가 메뉴 중에서 하나를 선택할 때까지 반복을 계속한다.

#include

void main()

{

int num1,num2,result;

char ch;

printf(“******************

“);

printf(“A—Add

“);

printf(“S—Subtract

“);

printf(“M—Multiply

“);

printf(“D—Divide

“);

printf(“Q—Quit

“);

printf(“******************

“);

do

{

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

scanf(“%c”,&ch);

fflush(stdin);

if(ch==’Q’)

break;

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

scanf(“%d %d”,&num1,&num2);

fflush(stdin);

switch(ch)

{

case ‘A’:

result=num1+num2;

printf(“연산의 결과는 %d입니다.

“,result);break;

case ‘S’:

result=num1-num2;

printf(“연산의 결과는 %d입니다.

“,result);break;

case ‘M’:

result=num1*num2;

printf(“연산의 결과는 %d입니다.

“,result);break;

case ‘D’:

result=num1/num2;

printf(“연산의 결과는 %d입니다.

“,result);break;

}

}while(1);

}

7.2와 100사이에 있는 모든 소수를 찾는 프로그램을 작성하라. 정수가 소수가 되려면 1과 자기 자신만을 약수로 가져야 한다.

#include

void main()

{

int i,num,count=0;

int prime=1;

for(num=2;num<100;num++) { prime=1; for(i=2;i

void main()

{

int i,input;

while(1)

{

printf(“막대의 길이(종료:-1):”);

scanf(“%d”,&input);

if(input==-1)

break;

for(i=0;i

C언어 Express 7장 Programming 심화 문제 추가

1. 초기값 입력 받아 1씩 감소시키며 0이 될 때까지 반복하여 출력

(+1. for문 사용 / 2. while문 사용)

for문을 사용할 때엔 제어 변수의 초기값을 n으로 하여, 0이 될 때 까지 1씩 감소하는 i를 출력한다.

#include int main(void) { int n; printf(“카운터의 초기값: “); scanf_s(“%d”, &n); for (int i = n;i > 0;i–) printf(“%d “, i); printf(”

“); return 0; }

while문을 사용할 때엔 후위 연산자를 이용하여 n의 값을 1씩 감소시키도록 하여 n의 값을 출력한다.

#include int main(void) { int n; printf(“카운터의 초기값: “); scanf_s(“%d”, &n); while (n > 0) printf(“%d “, n–); printf(“\a

“); return 0; }

2. 정수를 입력받고, 1부터 해당 정수 사이의 모든 3의 배수의 합을 구하는 프로그램

#include int main(void) { int n, sum = 0; printf(“정수 입력: “); scanf_s(“%d”, &n); for (int i = 1;i <= n;i++) { if (i % 3 == 0) sum += i; } printf("1부터 %d 사이의 모든 3의 배수의 합은 %d입니다. ", n, sum); return 0; } 어떤 숫자의 배수라는 뜻은, 그 수로 나누어 떨어지는 나머지가 0이라는 것임을 참고하면 된다. 합을 저장할 변수 sum의 초기값은 0이다. 3. 사용자가 입력한 정수의 모든 약수를 출력하는 프로그램 #include int main(void) { int n; printf(“정수 입력: “); scanf_s(“%d”, &n); for (int i = 1;i <= n;i++) { if (n % i == 0) printf("%d ", i); } printf(" "); return 0; } 해당 제어 변수가 약수라면, 입력받은 정수에 의해 나누어 떨어진다는 것을 참조하여 작성하면 된다. 4. 정수 입력 받아 해당 수의 높이만큼, 오른쪽 계단식으로 정렬된 별찍기 프로그램 #include int main(void) { int n; printf(“정수 입력: “); scanf_s(“%d”, &n); for (int i = 1;i <= n;i++) { for (int j = 1;j <= n - i;j++) printf(" "); for (int k = 1;k <= i;k++) printf("*"); printf(" "); } return 0; } 중첩 for문을 사용한다. 이런 별찍기 반복문 문제는 먼저 계단의 층 높이를 바깥 for문의 제어 변수를 이용해 식을 완성하고, 이후에 공백과 별의 개수의 변화를 살펴 이를 반복문 식으로 완성하면 조금 더 수월해진다. 보통은 제어 변수의 초기값을 0으로 두어 입력받은 정수까지 변수가 증가하도록 식을 세우는 경우가 있지만, 조금 복잡해지는 경우 각 계단의 층을 그대로 수로 (1~n) 사용하는 것이 안쪽 for문의 제어식을 세울 때 편하다고 생각해서 1부터 시작하는 편이다. 별찍기 문제는 무엇이 얼만큼 증가하고, 무엇이 얼만큼 감소하는지 판단하여, 이를 얼마나 간결하게 반복문의 식으로 작성하느냐가 관건이라 할 수 있겠다! 나는 반복문을 사용하면서부터 '아, 이래서 코딩할때 수학적 사고력이 필요하다는 거구나' 라는 생각을 했던 것 같다. 5. 정수를 입력 받아, 수가 하나씩 증가하며 왼쪽 계단식으로 정렬되어 출력되는 프로그램 #include int main(void) { int n; printf(“정수 입력: “); scanf_s(“%d”, &n); for (int i = 1;i <= n;i++) { for (int j = 1;j <= i;j++) printf("%d ", j); printf(" "); } return 0; } 별찍기 문제와 다르게 이번엔 '숫자'를 출력하는 문제이다. 역시나 층의 높이는 바깥 for문의 제어 변수로 설정하고, 각 층에 출력되는 수는 안쪽 for문의 제어 변수를 이용한다. 살펴보면 1층(위에서부터)부터 차례대로 층이 높아지면서 출력되는 숫자 또한 같은 양상으로 증가하기 때문에 안쪽 for문의 제어변수가 1~증가하는층수 까지 증가하도록 반복문을 작성하면 된다. 6. 계산기 프로그램 - do~while문 이용하여 메뉴 중 하나를 선택할 때까지 '연산을 선택하시오'를 반복 출력 - 연산 실행 뒤 또 메뉴를 선택할 수 있도록 반복하기 (A: Add, S: Subtract, M: Multiply, D: Divide, Q: Quit) (+함수로 구현) #include void menu(); int add(int x, int y); int subtract(int x, int y); int multiply(int x, int y); int divide(int x, int y); int main(void) { int x, y, result; char op; menu(); while (1) { do { printf(“연산을 선택하시오: “); scanf_s(” %c”, &op); } while (op != ‘A’ && op != ‘S’ && op != ‘M’ && op != ‘D’ && op != ‘Q’); if (op == ‘Q’)break; printf(“두 수를 공백으로 분리하여 입력: “); scanf_s(“%d %d”, &x, &y); switch (op) { case ‘A’: printf(“%d

“, add(x, y));break; case ‘S’: printf(“%d

“, subtract(x, y));break; case ‘M’: printf(“%d

“, multiply(x, y));break; case ‘D’: printf(“%d

“, divide(x, y));break; default:break; } } return 0; } void menu() { printf(“*******************

“); printf(“A—- Add

“); printf(“S—- Subtract

“); printf(“M—- Multiply

“); printf(“D—- Divide

“); printf(“Q—- Quit

“); printf(“*******************

“); }; int add(int x, int y) { return x + y; } int subtract(int x, int y) { return x – y; } int multiply(int x, int y) { return x * y; } int divide(int x, int y) { return x / y; }

1) do~while문을 이용해서 무조건 한 번은 해당 문장이 실행되어 op 문자변수를 입력받도록 한다.

while(); 문장이 거짓이 될 때 ( =입력받은 op변수가 A, S, M, D, Q가 아닌 경우) 다시 반복하도록 코드를 작성한다.

2) 위 문장이 참으로 성립된 후, op변수가 만약 Q라면 전체 반복문을 빠져나가도록 설정. (while & break 문 사용)

7. 소수 찾는 프로그램

(+함수로 구현하고, 두 개의 정수를 입력 받아 그 사이의 소수를 모두 출력하도록)

#include void getPrime(int x, int y); int main(void) { int x, y; printf(“두 정수 입력 : “); scanf_s(“%d %d”, &x, &y); getPrime(x, y); return 0; } void getPrime(int x, int y) { int i, j; for (i = x;i <= y;i++) { for (j = 2;j < i;j++) if (i % j == 0)break; if (i == j) printf("%d ", i); } printf(" "); } 소수를 구하기 위한 getPrime 함수를 작성한다. 이 함수에는 두 가지의 제어 변수가 존재함. 1) 입력받은 두 정수 사이의 숫자를 의미하는 바깥 for문의 제어변수 i 2) i가 소수인지 판별하기 위한 보조 제어변수 j 소수의 약수가 1과 자기 자신 뿐이라는 개념을 이용하여, 변수 i의 숫자를 2~(자기자신-1) 까지의 숫자로 나누어본다. 이 때, 왜 j는 i보다 1이 작아야 하느냐? 안쪽 for문이 작동된 직후, i와 j가 같은 경우 소수로 판단하여 이 수를 출력하는 조건문이 나오기 때문. j변수가 i보다 1 작은 경우, 한마디로 마지막으로 안쪽 for문이 실행되는 경우에는, 증감식으로 인해 j의 값이 i와 같아지고, 그 반복문은 실행하지 않고 다음 조건문으로 넘어가게 된다. 이 때 i와 j의 값이 같아졌다는 것은, i가 2부터 (j-1)까지 그 어떠한 수로도 나누어지지 않았다는 뜻이므로 소수로 판별되어 출력된다. 이 문제를 처음 마주했을때, 정말 어려웠다. for문에서 각 제어변수의 증감문과, 제어식을 올바르게 이해하고 넘어가는 것이 중요하다는 것을 깨달았다. 프로그래밍 언어의 문법을 배울 땐, 정말 꼼꼼히 완벽하게 이해를 하는 것이 중요하다 ! 8. (1+2+3+...+n)가 10000을 넘지 않으면서 가장 큰 값과 그 때의 n의 값 구하는 프로그램 #include int main(void) { int n=1, sum = 0; while (1) { sum += n; if (sum > 10000) break; n++; } n–; sum -= n; printf(“1부터 %d까지의 합은 %d입니다.

“, n, sum); return 0; }

while문을 이용해 작성하는 프로그램이다.

두 가지의 방법이 있는데, 첫번째는 무한 반복문 속에 break문을 추가하는 방법이고,

두번째는 조건식을 이용해 참, 거짓을 판별하여 반복문을 제어하는 방법이다.

개인적으로 반복문을 처음 접하여 이 문제를 풀 때 매우 헷갈렸다.

논리적 사고력이 부족한 나에게 두 변수를 동시에 생각하는 연습을 하도록 도와준 문제라고 생각한다.

break문의 위치와 1씩 증가하는 변수 n, 변화하는 n의 값을 저장하는 변수 sum의 증감을 잘 파악하여서

while문이 끝난 뒤에, sum과 n의 값을 다시 감소시키는 것이 관건이다.

#include int main(void) { int n=1, sum = 0; while (sum < 10000) { sum += n; n++; } n--; sum -= n; n--; printf("1부터 %d까지의 합은 %d입니다. ", n, sum); return 0; } 무한 루프를 사용하는 방법을 잘 몰랐던 나는, 이 두번째 방법을 처음에 사용했고 계속 올바른 값이 나오지 않아 애를 썼었다. n의 값이 마지막에 증가되기 때문에 반복문이 끝난 후 증가된 값을 다시 감소시키는 과정이 어렵게 다가왔던 것이 기억이 난다. 9. 실수의 거듭 제곱값을 계산하는 프로그램 (+실수 r과 거듭 제곱 횟수인 정수 n을 매개변수로 하여 결과값 실수를 반환하는 함수 추가 작성) #include double power(int r, int n); int main(void) { double r; int n; printf(“실수의 값: “); scanf_s(“%lf”, &r); printf(“거듭제곱 횟수: “); scanf_s(“%d”, &n); printf(“결과값은 %f

“, power(r, n)); return 0; } double power(int r, int n) { int result = 1; for (int i = 0;i < n;i++) result *= r; return result; } 실수 r이 n번만큼 거듭해서 곱해져야 하기 때문에, for 반복문을 사용하면 된다. 변수 result의 초기값을 1로 설정하고 n번만큼 반복문이 실행되어 r이 반복해서 곱해지도록 작성한다. 10. 1부터 n까지 각 수의 제곱을 더하여 계산하는 프로그램 (+위와 같은 방법으로 별도의 함수로 작성) #include int sumofDouble(int n); int main(void) { int n; printf(“정수의 값: “); scanf_s(“%d”, &n); printf(“1부터 %d의 제곱의 합의 결과값은 %d

“, n, sumofDouble(n)); return 0; } int sumofDouble(int n) { int sum = 0; for (int i = 1;i <= n;i++) sum += i * i; return sum; } 이번엔 변수 sum의 초기값을 0으로 하고, 반복문의 초기식의 i값은 1로, 그리고 조건식은 i가 n 이하일 때까지로 설정하도록 한다. 그리고 i의 제곱의 값의 합을 저장하기 위해 적절한 식을 작성해준다. 11. 사용자가 입력한 특정한 정수의 자리수를 반대로 출력하는 프로그램 작성 #include int main(void) { int n; printf(“정수 입력: “); scanf_s(“%d”, &n); do { printf(“%d”, n % 10); n /= 10; } while (n > 0); printf(”

“); return 0; }

반복문에서 빠질 수 없는 문제인 것 같다. 수를 입력받아 반대로 출력하는 문제!

나머지/나눗셈의 원리를 잘 이해하면 쉽다.

처음에는 많이 당황케 한 유형의 문제이지만, 원리를 이해하다 보면 익숙해지고 더 어려운 문제를 만나도 쉽게 풀 수 있게 되는 것 같다.

어떤 수를 10으로 나눈 나머지를 출력하고, 남은 몫을 변수에 다시금 저장하는 방법이다.

#include int main(void) { int n; printf(“정수 입력: “); scanf_s(“%d”, &n); do { printf(“n = %d , %d %% 10 = %d

“, n, n, n % 10); n /= 10; } while (n > 0); printf(”

“); return 0; }

이를 제대로 확인해 보기위해 출력 부분에 일부 문장을 더 추가해본다.

연산자를 출력하고 싶은 경우에는 해당 기호를 두 번 사용하면 된다.

마지막 문장을 실행한 뒤 n은 0이 되어 조건식이 거짓으로 판별되기 때문에 더 이상 해당 반복문은 실행되지 않게 된다.

728×90

쉽게 풀어 쓴 C 언어 Express 7 장 | 7강 트리 1부(C로 쉽게 풀어쓴 자료구조) 인기 답변 업데이트

당신은 주제를 찾고 있습니까 “쉽게 풀어 쓴 c 언어 express 7 장 – 7강 트리 1부(C로 쉽게 풀어쓴 자료구조)“? 다음 카테고리의 웹사이트 https://you.dianhac.com.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://you.dianhac.com.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 스티브쌤 TV with JJ-정보컴퓨터,정컴,전산직 이(가) 작성한 기사에는 조회수 2,299회 및 좋아요 13개 개의 좋아요가 있습니다.

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

2021.01.01부터 Steve TV 채널을 제제아뜰에서 운영합니다.

영상의 제공정책이 일부 변경될 수 있습니다. 모든 자료는 카페에 업로드 되어 있습니다.

카페이동: http://cafe.daum.net/inforedu

구독하기: https://bit.ly/39pXyfg

#정보컴퓨터임용, #정컴임용, #정컴기출

C프로그래밍. 쉽게 풀어쓴 C언어 EXPRESS 연습문제 7장 Programming … #include int main() { int i, j; for ( i = 1; i <= 7; ... + 더 읽기 Source: blog.naver.com Date Published: 4/24/2022 View: 9888 [C] 쉽게 풀어쓴 C EXPRESS 제 7장 Programming 문제 풀이. ‘CheolMin’ 2018. 11. 20. 10:00. 반응형. 1. 1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 … + 더 읽기 Source: cheolmini.tistory.com Date Published: 5/16/2021 View: 5677 쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 7장 프로그래밍 문제 해설 1. (a) #include int main(vo) { int … + 여기에 표시 Source: tistorysolution.tistory.com Date Published: 3/14/2022 View: 1528 쉽게 풀어쓴 C언어 Express. 제7장 반복문. Page 2. © 2012 생능출판사 All rights reserved. 이번 장에서 학습할 내용. •반복의 개념 이해. •while 반복문. + 여기에 더 보기 Source: web.yonsei.ac.kr Date Published: 6/28/2022 View: 670 주제와 관련된 더 많은 사진을 참조하십시오 7강 트리 1부(C로 쉽게 풀어쓴 자료구조). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다. “, a / b); break; } } while (1); return 0; } ​ 07 2와 100사이에 있는 모든 소수(prime number)를 찾는 프로그램을 작성하라. 정수가 소수가 되려면 1과 자기 자신만을 약수로 가져야 한다. #include int main(void) { int j,i; for (i = 2; i <= 100; i++) { for (j = 2; j < i; j++) { if (i % j == 0) break; } if (i == j) printf("%d ", i); } return 0; } ​ 08 컴퓨터는 막대 그래프를 그리는 데도 사용된다. 사용자로부터 1부터 50까지의 숫자를 입력 받아서 숫자만큼의 별표를 출력하는 프로그램을 작성하라. 막대는 가로로 그려지게 된다. #include int main(void) { int n; do { printf(“막대의 높이(종료: -1): “); scanf(“%d”, &n); for (int i = 1; i <= n; i++) { printf("*"); } printf(" "); } while (n != -1); return 0; } 09 (1+2+3+…+n)가 10000을 엄지 않으면서 가장 큰 값과 그 때의 n을 구하여라. #include int main(void) { int sum = 0; int i=0; while (1) { sum += i; if (sum > 10000) break; i++; } printf(“1부터 %d까지의 합이 %d입니다.”, i-1, sum-i); return 0; } ​ 10 실수의 거듭 제곱 값을 계산하는 프로그램을 작성하여 보자. 사용자로부터 하나의 실수 r와 거듭 제곱 횟수를 나타내는 정수 n을 입력 받아서 rn을 구하여 화면에 출력한다. #include int main(void) { double r = 0; int n = 0; double result = 1.0; printf(“실수의 값을 입력하시오: “); scanf(“%lf”, &r); printf(“거듭제곱횟수를 입력하시오: “); scanf(“%d”, &n); for (int i = 1; i <= n; i++) { result = result * r; } printf("결과값은 %f", result); return 0; } ​ 11 12+22+32+…+n2 의 값을 계산하여 출력하여 보자. #include int main(void) { int n = 0; int result = 0; printf(“n의 값을 입력하시오: “); scanf(“%d”, &n); for (int i = 1; i <= n; i++) { result += i * i; } printf("계산값은 %d입니다", result); return 0; } ​ 12 피보나치 수열은 다음과 같이 정의되는 수열이다. f 0 = 0 f 1 = 1 f i+1 = f 1 + f i-1 for i = 1,2,..... 피보나치 수열에서는 앞의 2개의 원소를 합하여 뒤의 원소를 만든다. 피보나치 수열은 컴퓨터에서도 탐색 문제 등에 사용되기도 한다. 피보나치 수열을 생성하여 출력하는 프로그램을 작성하여 보자. #include int main(void) { int f = 0; int a = 0; int b = 1; int c = 0; printf(“몇번째 항까지 구할까요? “); scanf(“%d”, &f); for (int i = 0; i <= f; i++) { printf("%d, ", a); c = a + b; a = b; b = c; } return 0; } ​ 13 서로 다른 n개에서 r개를 택하여 일렬로 나열하는 방법의 수를 순열(permutation)이라 하고. Npr 로 표시 한다. 순열은 다음과 같은 식을 이용하여 구할 수 있다. 순열을 구하는 프로그램을 작성하라. N과 r은 사용자가 입력할 수 있도록 하라. n p r = n(n-1)(n-2)...(n-r+1) #include int main(void) { int n = 0; int r = 0; int result =1; int i = 0; int a = 1; int b = 1; printf(“n의 값: “); scanf(“%d”, &n); printf(“r의 값: “); scanf(“%d”, &r); for (i = 1; i <= (n - r - 1); i++) { result *= i; } printf("순열의 값은 %d", result); return 0; } ​ 14 사용자가 입력한 특정한 정수의 자리수를 반대로 출력하는 프로그램을 작성하라. 예를 들어서 사용자가 정수 1206을 입력하였다면 6021이 출력되어야 한다. Do while 문을 사용하여 보라. #include int main(void) { int n; int d; printf(“정수를 입력하시오: “); scanf(“%d”, &n); do { d = n % 10; n /= 10; printf(“%d”, d); } while (n != 0); return 0; } ​ 인쇄 C프로그래밍 쉽게 풀어쓴 C언어 EXPRESS 연습문제 7장 Programming raligun17 ・ URL 복사 본문 기타 기능 공유하기 신고하기 01 가끔은 일정한 시간 동안 아무 일도 하지 않으면서 시간을 지연시킬 목적으로 반복문을 사용하기도 한다. 사용자에게서 하나의 수를 입력 받아서 변수에 저장한다. 반복문을 사용하여 이 변수의 값을 1씩 감소시키면 서 이변수의 값이 0이 될 때까지 반복한다. 반복이 끝나면 벨 소리를 낸다. #include int main() { int n; printf(“카운터의 초기값을 입력하시오 : “); scanf(“%d”, &n); for (int i = n; i >= 0; i–) { printf(“%d “, i); } printf(“\a”); return 0; } ​ 02 1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램을 반복 구조를 사용하여 작성하라. #include int main() { int sum = 0; for (int i = 1; i <= 100; i++) { if (i % 3 == 0) { sum += i; } } printf("1부터 100사이의 모든 3의 배수의 합은 %d입니다", sum); return 0; } ​ 03 사용자가 입력한 정수의 모든 약수를 화면에 출력하는 프로그램을 작성하라. #include int main() { int n; printf(“정수를 입력하시오: “); scanf(“%d”, &n); for (int i = 1; i <= n; i++) { if (n % i == 0) { printf("%d ", i); } } return 0; } ​ 04 반복 루프를 사용하여 다음과 같은 패턴을 출력하는 프로그램을 작성하라. #include int main() { int i, j; for ( i = 1; i <= 7; i++) { for ( j = 1; j <= 7 - i; j++) { printf(" "); } for (j = 1; j <= i; j++) { printf("*"); } printf(" "); } return 0; } ​ 05 중첩 반복문을 사용하여서 다음과 같이 출력하는 프로그램을 작성하여 보자. #include int main(void) { int n; printf(“정수를 입력하세요: “); scanf(“%d”, &n); for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { printf("%d ", j); } printf(" "); } return 0; } ​ 06 앞장에서 간단한 정수 계산기를 만들어 본적이 있다. 이 계산기 프로그램에 메뉴를 추가하도록 한다. 다음 과 같은 메뉴를 화면에 출력하고 사용자가 메뉴 중에서 하나를 선택할 때까지 반복을 계속한다. Do…while 반 복문을 사용하여 사용자가 적절한 선택을 했는지를 검사하도록 하라. 만약 사용자가 A,S,M,D,Q가 아닌 다른 문자를 입력하면 “연산을 선택하시오:“ 메시지를 계속해서 출력한다. 하나의 메뉴가 선택되면 해당되는 연산 을 실행하고 다시 메뉴를 선택할 수 있도록 하라. 반복을 종료하는 메뉴인 Q는 break문을 이용하여 구현 하도록 하라. #include int main(void) { char op; int a, b; printf(“**********”); printf(” 반응형 1. 1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램을 다음의 3가지 반복구조를 사용하여 작성하라. 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 32 33 34 35 36 37 38 #include < stdio.h > int main( void ) { int x = 1 , sum = 0 ; // while 루프 while (x < = 100 ) { if (x % 3 = = 0 ) sum + = x; x + + ; } // for 루프 sum = 0 ; for (x = 1 ; x < = 100 ; x + + ) { if (x % 3 = = 0 ) sum + = x; } // do...while 루프 x = 1 ; sum = 0 ; do { if (x % 3 = = 0 ) sum + = x; x + + ; } while (x < = 100 ); printf ( "[while 루프문] 1~100사이의 모든 3의배수의 합은 %d 입니다 " , sum); printf ( "[for 루프문] 1~100사이의 모든 3의배수의 합은 %d 입니다 " , sum); printf ( "[do...while 루프문] 1~100사이의 모든 3의배수의 합은 %d 입니다 " , sum); return 0 ; } Colored by Color Scripter cs [OUTPUT] 2. 반복 루프는 파일의 끝을 만날 때까지 자료를 처리하는데 많이 사용된다. 표준 입력에서는 사용자가 Ctrl + Z 를 입력하면 파일의 끝으로 간주한다. scanf()가 Ctrl + Z를 만나면 EOF를 반환한다. 사용자가 Ctrl + Z를 누르기 전까지, 입력한 정수의 합을 계산하여 출력하는 프로그램을 작성하여 테스트하라. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include < stdio.h > int main( void ) { int x,sum = 0 ; while ( scanf ( “%d ” , & x) ! = EOF) { sum + = x; } printf ( “정수의 핪은 %d 입니다

” , sum); return 0 ; } Colored by Color Scripter cs

3. 반복 루프를 사용하여 다음과 같은 패턴을 출력하는 프로그램을 작성하라.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include < stdio.h > int main( void ) { int i, j,x; for (i = 1 ; i < = 7 ; i + + ) { for (x = 7 - i; x > 0 ; x – – ) { printf ( ” ” ); } for ( j = 1 ; j < = i; j + + ) { printf ( "*" ); } printf ( " " ); } return 0 ; } cs [OUTPUT] 4. 중첩 반복문을 사용하여서 다음과 같이 출력하는 프로그램을 작성하여 보자. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include < stdio.h > int main( void ) { int x, i, j; printf ( “정수를 입력하시오: ” ); scanf ( “%d” , & x); for (i = 1 ; i < = x; i + + ) { for (j = 1 ; j < = i; j + + ) { printf ( "%d" , j); } printf ( " " ); } return 0 ; } cs [OUTPUT] 5. 가끔은 일정한 시간 동안 아무 일도 하지 않으면서 시간을 지연시킬 목적으로 반복문을 사용하기도 한다. 사용자에게서 하나의 수를 입력받아서 변수에 저장한다. 반복문을 사용하여 이 변수의 값을 1씩 감소시키면서 이 변수의 값이 0이 될 때까지 반복한다. 반복이 끝나면 벨소리를 낸다. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #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 ; } cs

6. 앞장에서 간단한 정수 계산기를 만들어본 적이 있다. 이 계산기 프로그램에 메뉴를 추가하도록 한다. 다음과 같은 메뉴를 화면에 출력하고 사용자가 메뉴 중에서 하나를 선택할 때까지 반복을 계속한다. do…while 반복문을 사용하여 사용자가 적절한 선택을 했는지를 검사하도록 하라. 만약 사용자가 A, S, M, D, Q가 아닌 다른 문자를 입력하면 “연산을 선택하시요:” 메시지를 계속해서 출력한다. 하나의 메뉴가 선택되면 해당되는 연산을 실행하고 다시 메뉴를 선택할 수 있도록 하라. 반복을 종료하는 메뉴인 Q는 break 문을 이용하여 다시 구현하도록 하라.

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include < stdio.h > int main( void ) { int x, y; char ch; printf ( “************************

” ); printf ( “A—- Add

” ); printf ( “S—- Subtract

” ); printf ( “M—- Multiply

” ); printf ( “D—- Divide

” ); printf ( “Q—- Quit

” ); printf ( “************************

” ); do { printf ( “연산을 선택하시오: ” ); scanf ( ” %c” , & ch); if (ch = = ‘Q’ ) break ; printf ( “두 수를 공백으로 분리하여 입력하시오: ” ); scanf ( “%d %d” , & x, & y); if (ch = = ‘A’ ) { printf ( “연산의 결과는 %d 입니다

” , x + y); continue ; } else if (ch = = ‘S’ ) { printf ( “연산의 결과는 %d 입니다

” , x – y); continue ; } else if (ch = = ‘M’ ) { printf ( “연산의 결과는 %d 입니다

” , x * y); continue ; } if (ch = = ‘D’ ) { printf ( “연산의 결과는 %d 입니다

” , x / y); continue ; } } while ( 1 ); return 0 ; } Colored by Color Scripter cs

7. 2와 100 사이에 있는 모든 소수(prime number)를 찾는 프로그램을 작성하라. 정수가 소수가 되려면 1과 자기 자신만을 약수로 가져야 한다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include < stdio.h > int main( void ) { int i, j; for (i = 2 ; i < = 100 ; i + + ) { for (j = 2 ; j < = i - 1 ; j + + ) { if (i % j = = 0 ) break ; } if (i = = j) printf ( "%d " , i); } printf ( " " ); return 0 ; } cs [OUTPUT] 8. 컴퓨터는 막대 그래프를 그리는 데도 사용된다. 사용자로부터 1부터 50사이의 숫자를 입력받아서 숫자만큼의 별표를 출력하는 프로그램을 작성하라. 막대는 세로로 그려지게 된다. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include < stdio.h > int main( void ) { int x = 0 ; int i, y = 0 ; while (x > = 0 ) { printf ( “막대의 높이(종료: -1): ” ); scanf ( “%d” , & x); for (i = 0 ; i < = x; i + + ) { printf ( "*" ); } printf ( " " ); } return 0 ; } cs [OUTPUT] 9. (1+2+3+...+n)가 10000을 넘지 않으면서 가장 큰 값과 그 때의 n의 값을 구하라. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include < stdio.h > int main( void ) { int i, j, sum = 0 ; for (i = 1 ;; i + + ) { sum + = i; if (sum > 10000 ) { j = i – 1 ; sum – = i; break ; } } printf ( “1부터 %d까지의 합이 %d입니다.” , j, sum); return 0 ; } Colored by Color Scripter cs

10. 실수의 거듭 제곱값을 계산하는 프로그램을 작성하여 보자. 사용자로부터 하나의 실수 r와 거듭 제곱 횟수를 나타내는 정수 n을 입력받아서 을 구하여 화면에 출력한다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include < stdio.h > int main( void ) { double r, n, result = 1. 0 ; printf ( “실수의 값을 입력하시요: ” ); scanf ( “%lf” , & r); printf ( “거듭제곱횟수를 입력하시오:” ); scanf ( “%lf” , & n); while (n ! = 0 ) { result * = r; n – – ; } printf ( “결과값은 %lf” , result); return 0 ; } cs

11. 의 값을 계산하여 출력하여 보자.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include < stdio.h > int main( void ) { int i, x; int result = 0 ; printf ( “n의 값을 입력하시오: ” ); scanf ( “%d” , & x); for (i = 1 ; i < = x; i + + ) { result + = i * i; } printf ( "계산값은 %d입니다. " , result); return 0 ; } Colored by Color Scripter cs [OUTPUT] 12. 피보나치 수열은 다음과 같이 정의되는 수열이다. 피보나치 수열에선느 앞의 2개의 원소를 합하여 뒤의 원소를 만든다. 피보나치 수열은 컴퓨터에서도 탐색 문제 등에 사용되기도 한다. 피보나치 수열을 생성하여 출력하는 프로그램을 작성하여 보자. [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include < stdio.h > int main( void ) { int n, c,i, a = 0 , b = 1 ; printf ( “몇 번째 항까지 구할까요? ” ); scanf ( “%d” , & n); printf ( “0 1” ); for (i = 0 ; i < n - 1 ; i + + ) { c = a + b; printf ( " %d" , c); a = b; b = c; } return 0 ; } cs [OUTPUT] 13. 서로 다른 n개에서 r개를 택하여 일렬로 나열하는 방법의 수를 순열(permutation)이라 하고, 로 표시한다. 순열은 다음과 같은 식을 이용하여 구할 수 있다. 순열을 구하는 프로그램을 작성하라. n과 r은 사용자가 입력할 수 있도록 하라 = n(n-1)(n-2) (n-r+1) [CODE] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include < stdio.h > int main( void ) { int i, n, r, P = 1 ; printf ( “n의 값: ” ); scanf ( “%d” , & n); printf ( “r의 값: ” ); scanf ( “%d” , & r); for (i = n; i > = n – (r + 1 ); i – – ) { P * = i; } printf ( “순열의 값은 %d 입니다” , P); return 0 ; } Colored by Color Scripter cs

14. 사용자가 입력한 ㅌ특정한 정수의 자리수를 반대로 출력하는 프로그램을 작성하라. 예를 들어서 사용자가 정수 1206을 입력하였다면 6021이 출력되어야 한다/ 만약 음수를 입력하면 오류 메시지를 출력하라. do…while 문을 사용하여 보라.

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 #include < stdio.h > int main( void ) { int n, a, b, c, d; printf ( “정수를 입력하시오: ” ); scanf ( “%d” , & n); do { if (n < 0 ) break ; a = n % 10 ; b = (n / 10 ) % 10 ; c = (n / 100 ) % 10 ; d = (n / 1000 ) % 10 ; printf ( "%d%d%d%d" , a, b, c, d); break ; } while ( 1 ); return 0 ; } Colored by Color Scripter cs [OUTPUT] 반응형

키워드에 대한 정보 쉽게 풀어 쓴 c 언어 express 7 장 programming

다음은 Bing에서 쉽게 풀어 쓴 c 언어 express 7 장 programming 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍

  • 한빛미디어
  • 우재남
  • 리눅스
  • 이것이 리눅스다
  • 셸 스크립트
  • 셸 스크립트 프로그래밍
  • 리눅스서버
  • 네트워크
  • 서버구축
  • 리눅스강의
  • 리눅스강좌
  • 리눅스초보
  • 리눅스입문
  • Red Hat CentOS 7
  • linux
[이것이 #리눅스다] #7장. #셸 #스크립트 #프로그래밍


YouTube에서 쉽게 풀어 쓴 c 언어 express 7 장 programming 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [이것이 리눅스다] 7장. 셸 스크립트 프로그래밍 | 쉽게 풀어 쓴 c 언어 express 7 장 programming, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  고 1 과학 기출 문제 | 고1 통합과학 2019년 1학기 중간고사 목동고 기출 3006 투표 이 답변

Leave a Reply

Your email address will not be published. Required fields are marked *