You are looking for information, articles, knowledge about the topic nail salons open on sunday near me c 언어 예제 모음 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.aseanseafoodexpo.com team, along with other related topics such as: c 언어 예제 모음 c언어 예제 사이트, c언어 알고리즘 예제, c언어 오픈소스, c언어 기초, c언어 코드, c언어 게임 소스코드, C 소스, C언어 거듭제곱 반복문
Table of Contents
C언어 예제 소스 모음 리스트 : 네이버 블로그
- Article author: m.blog.naver.com
- Reviews from users: 42583
Ratings
- Top rated: 5.0
- Lowest rated: 1
- Summary of article content: Articles about C언어 예제 소스 모음 리스트 : 네이버 블로그 C언어 예제 소스 모음 리스트. 프로필. 위컴퓨터학원. 2015. 10. 7. 18:13. 이웃추가. 본문 기타 기능. 본문 폰트 크기 조정 본문 폰트 크기 작게 보기 …
- Most searched keywords: Whether you are looking for C언어 예제 소스 모음 리스트 : 네이버 블로그 C언어 예제 소스 모음 리스트. 프로필. 위컴퓨터학원. 2015. 10. 7. 18:13. 이웃추가. 본문 기타 기능. 본문 폰트 크기 조정 본문 폰트 크기 작게 보기
- Table of Contents:
카테고리 이동
컴퓨터에 대한 모든것
이 블로그
C언어 특강
카테고리 글
카테고리
이 블로그
C언어 특강
카테고리 글
Cì¸ì´ë¡ ìì±ë ì½ë 모ì
- Article author: www.joinc.co.kr
- Reviews from users: 35149
Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about Cì¸ì´ë¡ ìì±ë ì½ë 모ì Updating …
- Most searched keywords: Whether you are looking for Cì¸ì´ë¡ ìì±ë ì½ë 모ì Updating Cì¸ì´ë¡ ìì±ë ì½ë 모ì :
- Table of Contents:

정보과학 실습활동 총정리(C언어 예제 및 답안 모음)
- Article author: deepdeepit.tistory.com
- Reviews from users: 13374
Ratings
- Top rated: 4.1
- Lowest rated: 1
- Summary of article content: Articles about 정보과학 실습활동 총정리(C언어 예제 및 답안 모음) 정보과학 실습활동 총정리(C언어 예제 및 답안 모음). IT호은 2018. 9. 25. 00:09. 320×100. 안녕하세요. 2학년 1학기(2018학년도)동안 정보과학 교과 수업을 수강하며 … …
- Most searched keywords: Whether you are looking for 정보과학 실습활동 총정리(C언어 예제 및 답안 모음) 정보과학 실습활동 총정리(C언어 예제 및 답안 모음). IT호은 2018. 9. 25. 00:09. 320×100. 안녕하세요. 2학년 1학기(2018학년도)동안 정보과학 교과 수업을 수강하며 … 안녕하세요. 2학년 1학기(2018학년도)동안 정보과학 교과 수업을 수강하며 실습했던 프로그램들 목록을 정리해서 올려봅니다. 목록 1. 1부터 n까지 홀수의 평균, 짝수의 합 구하기(04/04) 2. 자연수를 입력받다가..이호은 Hoeun Lee (2001)
– 공군 ROKAF 현역병 복무중 (22.01. ~ 23.10.)
– 충남삼성고 4기 IT디플로마
– 건국대학교 컴퓨터공학부 재학중
– 건국대학교 DMS 연구실
심층강화학습연구팀 학부연구생
– Studying on DRL - Table of Contents:
정보과학 실습활동 총정리(C언어 예제 및 답안 모음)
목록
1 1부터 n까지 홀수의 평균 짝수의 합 구하기
2 자연수를 입력받다가 100 이상의 값이 입력되면 평균과 합 출력하기
3 입력받은 정수가 음수인지 양수인지 판별하기
4 구구단 a단부터 b단까지 출력하기
5 크기가 100인 배열을 차례로 입력받다가 0이 입력되면 반대 순서로 배열 출력하기
6 반지름 길이가 r인 원넓이 출력하기
7 50 이하의 자연수를 입력받고 내림차순으로 출력하기
8 100 이하의 자연수를 입력받고 1부터 그 자연수까지의 합을 출력하기
9 자연수 N을 입력받고 짝수이면 2 홀수이면 3으로 나누는 작업을 반복 1이 되면 나눈 횟수 출력
10 배열을 입력받고 배열 원소 중 짝수 홀수의 개수 출력하기
11 배열을 입력받고 배열 원소 중 최댓값 최솟값 출력하기
12 이름 전화번호 주소를 문자열로 입력받아 각각의 배열에 저장하고 출력하기
13 두 사각형의 꼭짓점 좌푯값을 각각 입력받고 두 사각형이 겹치는 범위와 두 사각형을 포함하는 최소의 사각형의 좌푯값을 출력
14 노드 데이터베이스(첫 번째로 노드 삽입 가운데 노드 삽입 마지막으로 노드 삽입 출력 삭제)
15 원형 노드리스트
16 다항식 계산기(단항 구조체)
17 이중연결리스트
티스토리툴바

C언어 배열 주요예제 1
- Article author: lypicfa.tistory.com
- Reviews from users: 23940
Ratings
- Top rated: 4.3
- Lowest rated: 1
- Summary of article content: Articles about C언어 배열 주요예제 1 연재 완료/C Lang 예제코드 모음. C언어 배열 주요예제 1. 라이피 (Lypi) 2018. 5. 12. 12:40. 반응형. 1. 입력된 수들 가운데 특정 범위에 포함되는 수가 몇 개인지 … …
- Most searched keywords: Whether you are looking for C언어 배열 주요예제 1 연재 완료/C Lang 예제코드 모음. C언어 배열 주요예제 1. 라이피 (Lypi) 2018. 5. 12. 12:40. 반응형. 1. 입력된 수들 가운데 특정 범위에 포함되는 수가 몇 개인지 … 1. 입력된 수들 가운데 특정 범위에 포함되는 수가 몇 개인지 빈도수를 구하는 프로그램. #include int main() { int ia[10] = { 0, }; int i; printf(“0에서 99사이의 값을 입력하시오. 그 이외의 값이면 종료합..공연/예술계 스타트업에서 일하고 있는 신입개발자 입니다.
본 블로그는 프로그래밍, 수학, 과학에 대해서 공부한 것을 정리해서 올립니다.
종종 그 외 잡다한 내용을 올리기도 합니다. - Table of Contents:
C언어 배열 주요예제 1
티스토리툴바

TanSanC :: C 언어 실습문제 모음
- Article author: tansanc.tistory.com
- Reviews from users: 37352
Ratings
- Top rated: 3.6
- Lowest rated: 1
- Summary of article content: Articles about TanSanC :: C 언어 실습문제 모음 조건문 관련 실습 예제. 1. 두 수(정수)를 입력 받아, 그 중 큰 수를 출력하는 프로그램을 작성하시오. 2. 하나의 정수를 입력 받아 이 수가 … …
- Most searched keywords: Whether you are looking for TanSanC :: C 언어 실습문제 모음 조건문 관련 실습 예제. 1. 두 수(정수)를 입력 받아, 그 중 큰 수를 출력하는 프로그램을 작성하시오. 2. 하나의 정수를 입력 받아 이 수가 … 기초 실습 문제 1. 두 개의 숫자(정수형)를 입력하면 두 수의 사칙연산 결과를 모두 출력하는 프로그램을 작성하시오. 2. 세 개의 숫자(실수형)를 입력하면 이 수들의 합과 평균을 출력하는 프로그램을 작성하시..
- Table of Contents:

[C언어] 각종 코딩 예제 모음 – |:: Mind Palace ::|
- Article author: backomee.tistory.com
- Reviews from users: 16433
Ratings
- Top rated: 4.1
- Lowest rated: 1
- Summary of article content: Articles about [C언어] 각종 코딩 예제 모음 – |:: Mind Palace ::| 한 학기 동안 이뤄낸 고뇌의 결과물. 언젠가 쓸 일이 있을까 싶지만, 업로드 해둔다! …
- Most searched keywords: Whether you are looking for [C언어] 각종 코딩 예제 모음 – |:: Mind Palace ::| 한 학기 동안 이뤄낸 고뇌의 결과물. 언젠가 쓸 일이 있을까 싶지만, 업로드 해둔다! 한 학기 동안 이뤄낸 고뇌의 결과물. 언젠가 쓸 일이 있을까 싶지만, 업로드 해둔다!
- Table of Contents:
![[C언어] 각종 코딩 예제 모음 - |:: Mind Palace ::|](https://t1.daumcdn.net/tistory_admin/static/images/openGraph/opengraph.png)
C언어 조건문 if, switch 간단한 예제 모음 – dasima
- Article author: dasima.xyz
- Reviews from users: 49696
Ratings
- Top rated: 4.0
- Lowest rated: 1
- Summary of article content: Articles about C언어 조건문 if, switch 간단한 예제 모음 – dasima C언어 조건문 if, switch 간단한 예제 모음. Updated : 2022년 3월 16일. C언어 조건문에서 if 문은 조건식이 참일 경우 코드를 실행합니다. if else if 문은 조건식을 … …
- Most searched keywords: Whether you are looking for C언어 조건문 if, switch 간단한 예제 모음 – dasima C언어 조건문 if, switch 간단한 예제 모음. Updated : 2022년 3월 16일. C언어 조건문에서 if 문은 조건식이 참일 경우 코드를 실행합니다. if else if 문은 조건식을 … C언어 조건문은 어떤 기능일까요? 조건문은 특정 부분을 선택 실행할 때 사용합니다. if문은 조건식이 참일 경우 코드 블록을 실행하며, 추가 조건식을 삽입시 else, else if 등이 추가됩니다. switch문은 else if문과 비슷합니다.
- Table of Contents:
C언어 조건문의 종류
if 조건문
if else 조건문
if else if 조건문
switch 조건문

전체글 – C언어 예제모음
- Article author: m.cafe.daum.net
- Reviews from users: 23363
Ratings
- Top rated: 4.3
- Lowest rated: 1
- Summary of article content: Articles about 전체글 – C언어 예제모음 전체글 리스트 ; 월1만원대 의료실비보험 들어놨다가 수술비 2000만원 지원받았어요.- · 1 ; <공모전> 2017 건축스토리텔링 · 8 ; 아동 바른 양치 실천 공모전 한다네요 · 8 … …
- Most searched keywords: Whether you are looking for 전체글 – C언어 예제모음 전체글 리스트 ; 월1만원대 의료실비보험 들어놨다가 수술비 2000만원 지원받았어요.- · 1 ; <공모전> 2017 건축스토리텔링 · 8 ; 아동 바른 양치 실천 공모전 한다네요 · 8 … 모든 이야기의 시작, Daum 카페
- Table of Contents:
C언어 예제모음
개별카페 메뉴
전체글
카페 검색

See more articles in the same category here: Toplist.aseanseafoodexpo.com/blog.
정보과학 실습활동 총정리(C언어 예제 및 답안 모음)
728×90
안녕하세요. 2학년 1학기(2018학년도)동안 정보과학 교과 수업을 수강하며 실습했던 프로그램들 목록을 정리해서 올려봅니다.
목록
1. 1부터 n까지 홀수의 평균, 짝수의 합 구하기(04/04)
2. 자연수를 입력받다가 100 이상의 값이 입력되면 평균과 합 출력하기(04/05)
3. 음수 짝수 판별하기(04/05)
4. 구구단 a단부터 b단까지 출력하기(04/06)
5. 크기가 100인 배열을 차례로 입력받다가 0이 입력되면 반대 순서로 배열 출력하기(04/06)
6. 반지름 길이가 r인 원넓이 출력하기(04/10)
7. 50 이하의 자연수를 입력받고, 내림차순으로 출력하기(04/13)
8. 100 이하의 자연수를 입력받고, 1부터 그 자연수까지의 합을 출력하기(04/16)
9. 자연수 N을 입력받고 짝수이면 2, 홀수이면 3으로 나누는 작업을 반복, 1이 되면 나눈 횟수 출력(04/16)
10. 배열을 입력받고 배열 원소 중 짝수, 홀수의 개수 출력하기(04/23)
11. 배열을 입력받고 배열 원소 중 최댓값, 최솟값 출력하기(04/24)
12. 이름, 전화번호, 주소를 문자열로 입력받아 각각의 배열에 저장하고 출력하기(05/15)
13. 두 사각형의 꼭짓점 좌푯값을 각각 입력받고, 두 사각형이 겹치는 범위와 두 사각형을 포함하는 최소의 사각형의 좌푯값을 출력(05/17)
14. 노드 데이터베이스(첫 번째로 노드 삽입, 가운데 노드 삽입, 마지막으로 노드 삽입, 출력, 삭제)(06/12)
15. 원형 노드리스트(07/03)
16. 다항식 계산기(단항 구조체)
17. 이중연결리스트
다음은 예제와 수업시간 제가 작성한 코드입니다.
1. 1부터 n까지 홀수의 평균, 짝수의 합 구하기
#include
#include int main(void) { int n; int i = 0; int sum = 0; printf(“100 이하의 정수를 입력하세요 : “); scanf(“%d”, &n); for(i=0;i<=n;i++){ if((i%2)==0){ sum = sum + i; } } printf(" 짝수의 합은 %d", sum); sum = 0; for(i=1;i<=n;i++){ if((i%2)!=0){ sum+=i; sum/=(n/2); } } printf(" 홀수의 평균은 %d ", sum); return 0; } 2. 자연수를 입력받다가 100 이상의 값이 입력되면 평균과 합 출력하기 #include #include //계속 n값을 입력받다가 100이상의 수를 입력받으면 합과 평균을 출력한다. int main() { int n; int sum = 0; int time = 1; do{ printf(” %d : “, time); scanf(“%d”, &n); sum += n; time++; printf(”
%d times you entered, now %d, sum is %d
“, time-1, n, sum); }while(n<100); printf(" sum is %d ", sum); printf("everage is %.1f ", (float)sum/(time-1)); return 0; } 3. 입력받은 정수가 음수인지 양수인지 판별하기 #include
#include int main() { int n = 0; printf(“정수 n을 입력하세요. 종료하려면 0을 입력하세요.”); do{ printf(” n : “); scanf(“%d”, &n); if(n>0) printf(“%d은(는) 양수입니다.
“, (int)n); else if(n<0) printf("%d은(는) 음수입니다. ", (int)n); }while(n!=0); printf("프로그램을 종료합니다."); return 0; } 4. 구구단 a단부터 b단까지 출력하기 #include
#include int main(void) { int i; int j; int a; int b; printf(“구구단! a단부터 b단까지! “); printf(” a단 : “); scanf(“%d”, &a); printf(” b단 : “); scanf(“%d”, &b); if(a>=b){ printf(“b는 a보다는 커야 합니다!”); } else{ for(i=a;i<=b;i++){ printf(" %d단 : ", i); for(j=1;j<=9;j++){ printf("%d*%d=%d ", i, j, i*j); } printf(" "); } } return 0; } 5. 크기가 100인 배열을 차례로 입력받다가 0이 입력되면 반대 순서로 배열 출력하기 #include
#include int main(void) { int i = 0; int arr[100] = {}; for(i=0;i<100;i++){ printf("int arr[%d] : ", i); scanf("%d", &arr[i]); if(arr[i]==0){ break; } } for(i+=1;i>=0;i–){ printf(“arr[%d] = %d”, i, arr[i]); } return 0; } 6. 반지름 길이가 r인 원넓이 출력하기
#include
#include int r = 0; double s = 0; int Cir(int a) { s = a*a*3.1415926535897932;//384626433832795; return s; } int main(void) { printf(“r을 입력하세요 : “); scanf(“%d”, &r); Cir(r); printf(“%lf”, s); return 0; } 7. 50 이하의 자연수를 입력받고, 내림차순으로 출력하기
#include
#include void f(int b) { if(b>=1){ printf(“%d “, b); f(b-1); } } int scanprint(void) { int a; printf(“number : “); scanf(“%d”, &a); return a; } int main(void) { int n; n = scanprint(); if(n<=50&&n>=1){ f(n); } else{ printf(”
enter the natural number smaller than 50
“); } return 0; }
8. 100 이하의 자연수를 입력받고, 1부터 그 자연수까지의 합을 출력하기
#include
#include //# 4월 16일 100이하의 자연수를 입력받아 1부터의 합을 출력하는 함수 int scan(void) //정수를 입력받는 함수 { int enter; printf(“number : “); scanf(“%d”, &enter); return enter; } void intprint(int print) //정수를 간단히 출력하는 함수 { printf(” %d
“, print); } int numsize(int min, int max, int num) //수의 범위를 측정하는 함수 { if(min<=num&&num<=max){ return 1; } else{ return 2; } } int f(int n) { int slc; slc = numsize(1, 100, n); if(slc == 1){ n+=f(n-1); //printf(" %d ", n); return n; } else return 0; } int main() { int n; n = scan(); intprint(f(n)); return 0; } 9. 자연수 N을 입력받고 짝수이면 2, 홀수이면 3으로 나누는 작업을 반복, 1이 되면 나눈 횟수 출력 #include
#include //# 4월 16일 100만 이하의 자연수 N을 입력받아 짝수이면 2로 홀수이면 3으로 나누는 작업을 반복하다가 그 값이 1이 되면 그때까지 나누었던 작업의 횟수를 출력하는 프로그램을 구성하시오. int scan(void) //정수를 입력받는 함수 { int enter; printf(“number : “); scanf(“%d”, &enter); return enter; } void intprint(int print) //정수를 간단히 출력하는 함수 { printf(” result : %d
“, print); return 0; } int numsize(int min, int max, int num) //수의 범위를 측정하는 함수 { if(min<=num&&num<=max){ return 1; } else{ return 2; } } int f(int n) { int slc = numsize(2,1000000,n); //수의 범위를 지정 if(slc==1){ /*if(n%2==0){ //짝수이면 return 1 + f(n/2); } else{ //홀수이면 return 1 + f(n/3); }*/ return 1 + f(n / ((n%2==0)?2:3)); //삼항연산자 사용 -> (조건)?(참일때):(거짓일때) } else return 0; } int main() { int n; n = scan(); intprint(f(n)); return 0; }
10. 배열을 입력받고 배열 원소 중 짝수, 홀수의 개수 출력하기
#include
#include int scanint(void) { int size; printf(“size of arr : “); scanf(“%d”, &size); return size; } void scanarr(int* arr, int size) { int i; for(i=0;i #include int intscan(void) { int n; printf(“size of arr : “); scanf(“%d”, &n); return n; } int maxf(int* temp, int size) { int max = *temp; int i; for(i=0;i max ) max = *(temp+i); } return max; } int minf(int* temp, int size) { int min = *temp; int i; for(i=0;i #include struct info { char name[100]; char number[100]; char city[100]; }; int main(void) { struct info a; printf(“이름, 전화번호, 주소를 입력하세요 : “); scanf(“%s %s %s”, a.name, a.number, a.city); printf(“이름 : %s “, a.name); printf(“전화번호 : %s
“, a.number); printf(“주소 : %s
“, a.city); return 0; }
13. 두 사각형의 꼭짓점 좌푯값을 각각 입력받고, 두 사각형이 겹치는 범위와 두 사각형을 포함하는 최소의 사각형의 좌푯값을 출력
/** 정보과학 문제 풀이 답안 설명용 / 171037 2PAC 이호은 **/ #include
#include #include //색깔 출력하는 함수 #include //색깔 출력하는 함수 //변수명을 sqi로 하고 x, y를 정수값으로 갖는 구조체 선언 typedef struct{ int x; int y; }sqi; /** 메인 함수 **/ int main(int argc, char *argv[]){ //구조체 변수 선언(사각형 A, B 각각 두 개씩(직사각형을 구성하기 위한 최소 좌표)) sqi a_one, a_two, b_one, b_two; //x, y 좌표 정렬을 위한 x, y 4칸짜리 배열 선언 int arr_x[4]; int arr_y[4]; //x, y 입력받음 printf(“enter x, y enter x (space) y ex) 3 4
“); printf(“first point of squar one : “); scanf(“%d %d”, &a_one.x, &a_one.y); printf(“second point of squar one : “); scanf(“%d %d”, &a_two.x, &a_two.y); printf(“first point of squar two : “); scanf(“%d %d”, &b_one.x, &b_one.y); printf(“second point of squar two : “); scanf(“%d %d”, &b_two.x, &b_two.y); //입력 받은 x, y의 좌표들을 차례대로 정렬 없이 배열에 대입 arr_x[0] = a_one.x; arr_x[1] = a_two.x; arr_x[2] = b_one.x; arr_x[3] = b_two.x; arr_y[0] = a_one.y; arr_y[1] = a_two.y; arr_y[2] = b_one.y; arr_y[3] = b_two.y; //정렬을 위해 temp 변수(임시 변수)에 크기, 순서 상관 없이 x, y의 첫 번째 좌표 값을 넣어줌 int temp_x = arr_x[0]; int temp_y = arr_y[0]; //반복문 변수 i, j 선언 그리고 x, y에 최소, 최대를 저장할 변수 선언 int i, j; int minx, miny, maxx, maxy, temp; //x정렬(temp로 하나씩 비교해가며 비교한 수 작고 큰 수를 대입) for(i=0;i<4;i++) { for(j=i;j<4;j++) { if(arr_x[i]>arr_x[j]) { temp=arr_x[i]; arr_x[i]=arr_x[j]; arr_x[j]=temp; } } } //y정렬(temp로 하나씩 비교해가며 비교한 수 작고 큰 수를 대입) for(i=0;i<4;i++) { for(j=i;j<4;j++) { if(arr_y[i]>arr_y[j]) { temp=arr_y[i]; arr_y[i]=arr_y[j]; arr_y[j]=temp; } } } //크기순으로 정렬된 배열에서 최대, 최소값을 변수에 저장 minx = arr_x[0]; maxx = arr_x[3]; miny = arr_y[0]; maxy = arr_y[3]; /** 겹치는 부분 출력 **/ //j는 y좌표 반복하여 설정(y의 최댓값+2부터 0까지) for(j=maxy+2;j>=0;j–){ //i는 x좌표 반복하여 설정(0부터 x의 최댓값+3까지) for(i=0;i
=a_one.x&&i<=a_two.x&&j>=a_one.y&&j<=a_two.y)&&(i>=b_one.x&&i<=b_two.x&&j>=b_one.y&&j<=b_two.y)){ //빨간색으로 글자 출력 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_INTENSITY); printf("■"); } //만약 현재 가르키고 있는 좌표(j, i)가 한 사각형 범위 안에만 있다면 한 사각형 범위로 처리 else if(i>=a_one.x&&i<=a_two.x&&j>=a_one.y&&j<=a_two.y){ //노란색으로 글자 출력 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY); printf("■"); } else if(i>=b_one.x&&i<=b_two.x&&j>=b_one.y&&j<=b_two.y){ //초록색으로 글자 출력 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_INTENSITY); printf("■"); } //만약 현재 가르키고 있는 좌표(j, i)가 어느 사각형 범위에도 포함되어 있지 않다면 else{ //흰색으로 글자 출력 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY); printf("■"); } } //해당 y좌표 라인에서 x좌표의 반복이 끝나면 엔터를 쳐서 다음 y좌표(y-1)로 넘어감 printf(" "); } /** 포함하는 최소 크기의 사각형 출력 **/ //x, y 각각의 최소값, 최대값 좌표를 출력 printf("points of the squar is (%d, %d), (%d, %d)", minx, miny, maxx, maxy); printf(" "); //j는 y좌표 반복하여 설정(y의 최댓값+2부터 0까지) for(j=maxy+2;j>=0;j–){ //i는 x좌표 반복하여 설정(0부터 x의 최댓값+3까지) for(i=0;i =minx&&i<=maxx&&j>=miny&&j<=maxy){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_INTENSITY); printf("■"); }else{ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY); printf("■"); } } printf(" "); } //메인 함수 종료 return 0; } 14. 노드 데이터베이스(첫 번째로 노드 삽입, 가운데 노드 삽입, 마지막으로 노드 삽입, 출력, 삭제) #include #include #include typedef struct node { int data; struct node* link; }node; void makeFirstNode(node_h* P) { node* newNode; int x; newNode = (node*)malloc(sizeof(node)); printf(“입력할 데이터 : “); scanf(“%d”, &x); printf(“a”); newNode->data = x; printf(“a”); newNode->link = P->head; printf(“a”); P->head = newNode; printf(“a”); printf(“%p”, P->head); printf(“a”); } void makeMiddleNode(node_h* P) { node* newNode; int x; newNode = (node*)malloc(sizeof(node)); printf(“입력할 데이터 : “); scanf(“%d”, &x); if(P->head == NULL){ newNode->data = x; P->head = newNode; newNode->link = NULL; } else{ int preD; //선행 노드 데이터 node* temp; node* pre; printf(“선행 노드의 데이터를 입력하세요 : “); scanf(“%d”, &preD); temp = P->head; while(temp!=NULL){ if(temp->data==preD){ pre=temp; break; } temp=temp->link; } newNode->link = pre->link; pre->link = newNode; } } void makeLastNode(node_h* P) { node* newNode; int x; newNode = (node*)malloc(sizeof(node*)); printf(“입력할 데이터 : “); scanf(“%d”, &x); newNode->data = x; newNode->link = NULL; if(P == NULL){ P = newNode; return 0; } node* temp; temp = P; while(temp!=NULL){ temp = temp->link; } temp->link = newNode; } void printNode(node_h* P) { node* temp; temp = P; while(temp!=NULL){ printf(“%d”, temp->data); temp=temp->link; if(temp!=NULL) printf(“, “); } } void deleteNode(node_h* P) { //if() return 0; } int main(void) { node_h* P; int slc; int x; while(1){ printf(“1. 첫 번째로 노드 삽입 2. 가운데 노드 삽입
3. 마지막으로 노드 삽입
4. 노드 출력
5. 노드 삭제
6. 종료
입력 : “); scanf(“%d”, &slc); printf(“P 주소값 : %p”, P); if(slc==1){ makeFirstNode(P); printf(“complete!
“); } else if(slc==2){ makeMiddleNode(P); printf(“complete!
“); } else if(slc==3){ makeLastNode(P); printf(“complete!
“); } else if(slc==4){ printNode(P); } else if(slc==5){ deleteNode(P); } else if(slc==6){ break; } } return 0; }
15. 원형 노드리스트
#include
#include #include typedef struct node { int data; struct node* link; }node; void insertFirstNode(node** CL, int x) { node* newNode; newNode = (node*)malloc(sizeof(node)); newNode->data = x; if(*CL==NULL){ *CL = newNode; newNode->link=newNode; } else { node* temp; temp = *CL; while((temp->link)!=(*CL)){ temp = temp->link; } newNode->link = temp->link; temp->link = newNode; *CL = newNode; } } void insertMiddleNode(node** CL, node* pre, int x) { node* newNode; newNode = (node*)malloc(sizeof(node)); newNode->data = x; if(*CL==NULL){ *CL = newNode; newNode->link = newNode; } else { newNode->link = pre->link; pre->link = newNode; } } node* searchNode(node** CL, int preD) { node* temp; temp = *CL; while((temp->link)!=(*CL)){ if(temp->data==preD) return temp; temp=temp->link; } return NULL; } void deleteNode(node** CL, node* pre) { if(*CL==NULL){ printf(“there is no any Node! “); return; } else { if(*CL==NULL){ free(*CL); return; } else { node* old; old = pre->link; pre->link = old->link; if(old==(*CL)){ *CL = old->link; } free(old); } } } void printNode(node** CL) { node* temp; temp = *CL; int i = 1; printf(”
“); while((temp->link)!=(*CL)){ printf(“[%d](%p/%d)”, i, temp, temp->data); i++; temp=temp->link; if((temp->link)!=(*CL)) printf(” -> “); } printf(” -> [%d](%p/%d)”, i, temp, temp->data); printf(” -> ∞ “); printf(”
—–print done—–
“); } int main(void) { printf(“Circular Node Program made by Hoeun with C
“); node* CL; CL = NULL; int slc; int x; while(1){ slc = 0; printf(“[1] insult [2] delete [3] print [4] exit
enter : “); scanf(“%d”, &slc); if(slc==1){ printf(“[1] first [2] middle
enter : “); scanf(“%d”, &slc); printf(“data : “); scanf(“%d”, &x); printf(”
“); if(slc==1){ insertFirstNode(&CL, x); } else if(slc==2){ int preD; printf(“data of the pre-node : “); scanf(“%d”, &preD); insertMiddleNode(&CL, searchNode(&CL, preD), x); } } else if(slc==2){ int delD; printf(“data to delete : “); scanf(“%d”, &delD); deleteNode(&CL, searchNode(&CL, delD)); } else if(slc==3){ printNode(&CL); } else if(slc==4){ break; } } return 0; }
16. 다항식 계산기(단항 구조체)
/** * * [2018 정보과학 다항식 계산 프로젝트] * * [171037 이호은] * **/ #include
#include #include //계수, 지수를 멤버변수로 갖는 단항 구조체 선언 typedef struct term { int coef; //계수 int expo; //지수 struct term* link; //다음 노드로의 연결 링크 } term; //다항식을 만드는 함수 void insertPoly(term** L) { int i = 0; int co; term* temp = NULL; printf(“degree : “); scanf(“%d”, &i); for(;i>=0;i–){ printf(“enter coef of %dth term : “, i); scanf(“%d”, &co); if(co!=0){ term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->coef = co; newNode->expo = i; if((*L)==NULL){ *L = newNode; newNode->link = NULL; } else { temp = *L; while(temp->link!=NULL){ temp = temp->link; } temp->link = newNode; newNode->link = NULL; } } } return; } //다항식 F의 F(x) 값을 구하는 함수 float insertX(term** L, int x) { term* temp; temp = *L; float sum = 0; float tempN = 1; int i = 1; while(temp!=NULL){ for(;i<=(temp->expo);i++){ tempN = tempN*x; } sum += (tempN)*(temp->coef); temp=temp->link; } return sum; } //다항식 출력 함수 void printPoly(term** L) { printf(” “); term* temp; temp = *L; while((temp->link)!=NULL){ printf(“%dX^%d”, temp->coef, temp->expo); printf(” + “); temp = temp->link; } printf(“%d”, temp->coef); return; } //다항식 덧셈 함수 void addPoly(term** A, term** B, term** C) { term* tempA = *A; term* tempB = *B; term* temp = NULL; while((tempA!=NULL)&&(tempB!=NULL)){ if((tempA->expo)>(tempB->expo)){ term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->expo = tempA->expo; newNode->coef = tempA->coef; if(*C == NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode = NULL; } temp = NULL; tempA = tempA->link; } else if((tempB->expo)>(tempA->expo)){ term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->expo = tempB->expo; newNode->coef = tempB->coef; if(*C == NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode = NULL; } temp = NULL; tempB = tempB->link; } else if((tempA->expo)==(tempB->expo)){ if((tempA->coef)+(tempB->coef)==0){ tempA = tempA->link; tempB = tempB->link; } else { term* newNode; newNode = (term*)malloc(sizeof(term)); (newNode->expo) = (tempA->expo); (newNode->coef) = ((tempA->coef)+(tempB->coef)); if(*C==NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode->link = NULL; } temp = NULL; tempA = tempA->link; tempB = tempB->link; } } } return; } //다항식 뺄셈 함수 void subPoly(term** A, term** B, term** C) { //뺄셈 방식 선택 printf(“[1] A-B [2] B-A”); int slcF; scanf(“%d”, &slcF); term* tempA; term* tempB; //B-A일 경우 if(slcF==2){ tempA = *B; tempB = *A; } else { if(slcF!=1) printf(”
wrong number! Choosed 1.
“); tempA = *A; tempB = *B; } term* temp = NULL; while((tempA!=NULL)&&(tempB!=NULL)){ if((tempA->expo)>(tempB->expo)){ term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->expo = tempA->expo; newNode->coef = tempA->coef; if(*C == NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode = NULL; } temp = NULL; tempA = tempA->link; } else if((tempB->expo)>(tempA->expo)){ term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->expo = tempB->expo; newNode->coef = tempB->coef; if(*C == NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode = NULL; } temp = NULL; tempB = tempB->link; } else if((tempA->expo)==(tempB->expo)){ if((tempA->coef)-(tempB->coef)==0){ tempA = tempA->link; tempB = tempB->link; } else { term* newNode; newNode = (term*)malloc(sizeof(term)); (newNode->expo) = (tempA->expo); (newNode->coef) = ((tempA->coef)-(tempB->coef)); if(*C==NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode->link = NULL; } temp = NULL; tempA = tempA->link; tempB = tempB->link; } } } return; } //다항식 곱셈 함수 void mulPoly(term** A, term** B, term** C) { term* tempA; term* tempB; term* temp; while((tempA->link)!=NULL){ while((tempB->link)!=NULL){ tempB = tempB->link; term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->coef = (tempA->coef)*(tempB->coef); newNode->expo = (tempA->expo)*(tempB->expo); if(*C==NULL){ *C = newNode; newNode->link = NULL; } else { temp = *C; while((temp->link)!=NULL){ temp = temp->link; } temp->link = newNode; newNode->link = NULL; } } tempA = tempA->link; } printPoly(C); return; } //다항식 A(x)의 도함수 A'(x)를 구하는 함수 void difPoly(term** A, term** C) { term* temp; temp = *A; term* tempC = NULL; while((temp/*->link*/)!=NULL){ term* newNode; newNode = (term*)malloc(sizeof(term)); newNode->coef = (temp->coef)*(temp->expo); newNode->expo = ((temp->expo)-1); printf(“%dX^%d”, newNode->coef, newNode->expo); term* tempC; tempC = *C; if(*C==NULL){ *C = newNode; newNode = NULL; printf(“null”); } else { printf(“notnull”); while((tempC->link)!=NULL){ tempC = tempC->link; } newNode->link = NULL; tempC->link = newNode; } printf(“before %p
“, temp); temp = temp->link; printf(“after %p
“, temp); } printf(“c”); printPoly(C); return; } //다항식을 구간 a에서 b까지 적분한 값을 구하는 함수 float intgPoly(term** A) { int left = 0; int right= 0; printf(“enter range to integral
left limit : “); scanf(“%d”, &left); printf(”
right limit : “); scanf(“%d”, &right); term* temp; temp = *A; while(temp!=NULL){ temp->coef = (temp->coef)/((temp->expo)+1); (temp->expo)++; temp = temp->link; } float intg; printf(“%f – %f”, insertX(A, left), insertX(A, right)); intg = insertX(A, left) – insertX(A, right); return intg; } int main(int argc, char *argv[]) { printf(“Calculation of Polynomials”); while(1){ term* A = NULL; term* B = NULL; term* C = NULL; int slc = 0; printf(”
[1] addition [2] subtraction [3] multiplication [4] differential [5] integralenter : “); scanf(“%d”, &slc); if(slc==1){ printf(”
insert Polynomial A
“); insertPoly(&A); printf(”
insert Polynomial B
“); insertPoly(&B); addPoly(&A, &B, &C); printPoly(&C); } else if(slc==2){ printf(”
insert Polynomial A
“); insertPoly(&A); printf(”
insert Polynomial B
“); insertPoly(&B); subPoly(&A, &B, &C); printPoly(&C); } else if(slc==3){ printf(“insert Polynomial A
“); insertPoly(&A); printf(“insert Polynomial B
“); insertPoly(&B); mulPoly(&A, &B, &C); } else if(slc==4){ printf(“insert Polynomial
“); insertPoly(&A); difPoly(&A, &C); } else if(slc==5){ printf(“insert Polynimial”); insertPoly(&A); printf(“%f”, intgPoly(&A)); } else{ printf(“[!] error
“); } free(A); free(B); free(C); } return 0; }
17. 이중연결리스트
#include
#include //구조체 선언 typedef struct node { struct node* Rlink; int data; struct node* Llink; } node; //이중연결노드 삽입 함수 void insertNode(node** L, int intdata) { node* newNode; newNode = (node*)malloc(sizeof(node)); newNode->data = intdata; if(*L==NULL){ *L = newNode; newNode->Llink=NULL; newNode->Rlink=NULL; return; } else { newNode->Rlink = *L; *L = newNode; newNode->Llink = NULL; newNode->Rlink->Llink = newNode; return; } } //정방향 출력 함수 void printForwardNode(node** L) { node* temp = *L; int i = 1; while((temp->Rlink)!=NULL){ printf(“[%d](%p/%d)”, i, temp, temp->data); i++; temp = temp->Rlink; printf(” <-> “); } printf(“[%d](%p/%d)”, i, temp, temp->data); return; } //역방향 출력 함수 void printBackwardNode(node** L) { node* temp = *L; int i = 1; while((temp->Rlink)!=NULL){ temp = temp->Rlink; i++; } while((temp->Llink)!=NULL){ printf(“[%d](%p/%d)”, i, temp, temp->data); i–; temp = temp->Llink; printf(” <-> “); } printf(“[%d](%p/%d)”, i, temp, temp->data); return; } int main(int argc, char *argv[]) { printf(“이중연결리스트 예제 실습 “); node* L = NULL; while(1){ printf(”
“); printf(“[1] insert [2] print Forward [3] print Backward [4] shutdown
enter : “); int slc; scanf(“%d”, &slc); if(slc==1){ int intdata; int predata; printf(”
data : “); scanf(“%d”, &intdata); insertNode(&L, intdata); } else if(slc==2){ printf(”
“); printForwardNode(&L); printf(”
“); } else if(slc==3){ printf(”
“); printBackwardNode(&L); printf(”
“); } else if(slc==4){ return 0; } else { printf(“error!”); } } }
한 학기동안 이를 제외하고도 많은 예제를 직접 부딪혀가며 해결해가면서 프로그래밍 소양도 많이 길렀고, 제 실력을 크게 성장하게 해주었던 것 같습니다.
728×90
C언어 배열 주요예제 1
반응형
1. 입력된 수들 가운데 특정 범위에 포함되는 수가 몇 개인지 빈도수를 구하는 프로그램.
#include
int main() { int ia[10] = { 0, }; int i; printf(“0에서 99사이의 값을 입력하시오. 그 이외의 값이면 종료합니다. “); scanf_s(“%d”, &i); while (i >= 0 && i <= 99) { ++ia[i / 10]; scanf_s("%d", &i); } printf(" 발생 빈도수 "); for (i = 0; i < 10; i++) { printf("%2d ~ %2d : %3d ", i * 10, (i + 1) * 10 - 1, ia[i]); } } 2. N개의 정수를 입력받아 오름차순으로 정렬하는 프로그램. #include
int main() { static int data[100]; int i, j, N; printf(“입력할 데이터의 개수를 100개 이하로 입력하세요 : “); scanf_s(“%d”, &N); while (N > 100) { printf(“입력하신 범위가 너무 큽니다. 100개 이하로 입력해주세요 “); printf(“입력할 데이터의 개수를 100개 이하로 입력하세요 : “); scanf_s(“%d”, &N); } for (i = 0; i < N; i++) { printf("%d번째 데이터를 입력하세요. : ", i + 1); scanf_s("%d", &data[i]); } //data[i]와 data[i+1]의 크기를 비교해서 data[i]가 크면 교체. 가장 기본적인 정렬 알고리즘. for (i = 0; i < N - 1; i++) { for (j = i + 1; j < N; j++) { if (data[i] > data[j]) { //xor스왑 data[i] ^= data[j]; data[j] ^= data[i]; data[i] ^= data[j]; } } } printf(“정렬된 데이터 :
“); for (i = 0; i <= N - 1; i++) { printf("%10d", data[i]); if ((i + 1) % 5 == 0) { printf(" "); } } } 3. 데이터를 읽어 그 중 가장 긴 라인의 길이와 그 라인 전체를 출력하는 프로그램. #include
int main() { char data[250]; // 데이터를 입력받을 배열 char mem_data[250]; //입력받은 데이터 중 가장 긴 데이터를 저장할 배열 int max = 0; int l, i; while (1) { printf(“문장을 입력하세요 (입력 중단은 ctrl + z): “); l = 0; //데이터 입력받기 while (1) { data[l] = getchar(); //입력받은 데이터가 ‘ ‘이거나 EOF이면 입력중지 if (data[l] == ‘
‘ || data[l] == EOF) { break; } l++; } //ㅣ값이 현재 max보다 클 때 if (l > max) { //mem_data[]에 현재 data[]값 복사 for (i = 0; i <= l; i++) { mem_data[i] = data[i]; } max = l; } if (data[l] == EOF) { break; } } //입력받기 끝 //입력받은 데이터가 없으면 if (max == 0) { printf("입력하신 데이터가 없습니다. "); } else { printf("가장 긴 줄은 : "); for (i = 0; i <= max - 1; i++) { putchar(mem_data[i]); } printf(" 길이 : %d ", max); } } 728x90
TanSanC :: C 언어 실습문제 모음
기초 실습 문제.hwp
기초 실습 문제
1. 두 개의 숫자(정수형)를 입력하면 두 수의 사칙연산 결과를 모두 출력하는 프로그램을 작성하시오.
2. 세 개의 숫자(실수형)를 입력하면 이 수들의 합과 평균을 출력하는 프로그램을 작성하시오.
3. 섭씨로 표시된 온도 측정값을 화씨 표시의 온도 값으로 변환하는 프로그램을 작성하시오.
사용자 입력 : 섭씨 온도를 나타내는 실수
프로그램 출력 : 화씨 온도
수식 : 화씨 = 섭씨 * ( 9 / 5 ) + 32
4. 어떤 정수 나눗셈의 몫과 나머지를 출력하는 프로그램을 작성하시오.
사용자 입력 : 두 개의 정수
프로그램 출력 : 몫과 나머지
조건문 관련 실습 예제
1. 두 수(정수)를 입력 받아, 그 중 큰 수를 출력하는 프로그램을 작성하시오.
2. 하나의 정수를 입력 받아 이 수가 짝수(even number)인지 홀수(odd number)인지를 출력하는 프로그램을 작성하시오.
3. 세 수(정수형)를 입력 받아 가장 큰 수를 출력하는 프로그램을 작성하시오.
4. 점수(정수)를 입력 받아서 등급(A, B, C, D, E)을 출력하는 프로그램을 작성하시오.
(A : 100-80, B: 79-60, C: 59-40, D: 39-20, E: 19-0)
5. 메뉴를 출력하고, 사용자로부터 입력을 받아 선택된 메뉴를 출력하는 프로그램을 작성하시오.
choose one of the following.
apple
orange
banana
peach
enter your choice here : (사용자 입력)orange
————–
Your choice is “orange”.
6. 어떤 두 자리 수의 자릿수의 순서를 서로 바꾸는 프로그램을 작성하시오.
사용자 입력 : 한 개의 두 자리 정수
출력 : 자릿수의 순서가 반대로 된 정수
반복문 관련 실습 예제
1. 1부터 10까지 연속 출력하는 프로그램을 작성하시오.
2. 10개의 정수를 입력 받아 그 총합을 출력하는 프로그램을 작성하시오.
3. 1부터 100사이의 숫자(정수) 중에서 3의 공배수(3,6,9,12,..)들의 총합을 출력하는 프로그램을 작성하시오.(while문 사용)
4. 1부터 100사이의 숫자(정수) 중에서 3의 공배수(3,6,9,12,..)들의 총합을 출력하는 프로그램을 작성하시오.(for문 사용)
5. 1부터 100사이의 숫자(정수) 중에서 3의 공배수(3,6,9,12,..)들의 총합을 출력하는 프로그램을 작성하시오.(do-while문 사용)
6. 어떤 양의 정수(n)를 입력 받아(만약 0이나 음의 정수를 입력하면, 에러 메시지를 띄운 뒤, 다시 입력하도록 처리), 그 수의 2n을 구하는 프로그램을 작성하시오.
7. 0이 입력될 때까지 계속 정수를 입력 받고, 입력된 모든 숫자들의 총합을 출력하시오.
8. 1부터 9사이의 숫자 하나를 입력 받아 그 숫자의 구구단을 출력하는 프로그램을 작성하시오.(5이면 5단을 출력)
9. 위의 문제에서 1부터 9사이 이외의 숫자를 사용자가 잘못 입력할 수도 있으니, 이 경우에 잘못된 숫자라는 것을 알려주는 에러 메시지를 출력하고 다시 숫자를 입력 받도록 처리하시오.(입력의 유효성 검사)
10. 소수(prime-number) 검사와 흡사하게 사용자가 입력한 수의 인수들을 모두 출력하는 프로그램을 작성하시오.
8 => 2 4
12 => 2 3 4 6
11. 위의 문제를 0을 입력하기 전까지는 계속 수행(인수 출력)하도록 수정하시오.
12. for문(while)의 무한 반복과 break 문을 이용하여 0이 입력될 때까지 입력 받은 정수 중 가장 큰 정수를 출력하는 프로그램을 작성하시오.
13. month와 day를 입력 받아, 1월 1일부터의 총 day수를 출력하는 프로그램을 작성하시오. (switch문 사용) //1월 20일은 20일 출력, 2월 5일은 36일 출력. 단 2월은 28일로 계산.
14. 사용자로부터 숫자 하나를 입력받아, 7부터 입력받은 수까지의 모든 정수들의 합을 구하는 프로그램을 작성하시오. 입력받은 숫자가 7보다 작으면 에러 메시지를 출력한다.
15. 1~100 사이의 숫자 하나를 정한 뒤(랜덤으로 생성해도 됨), 10번 이내로 그 숫자를 맞추는 게임을 작성하시오.(10번 이내로 못 맞추었을 경우는 약간 머리가 딸리는 사람이므로 Game Over 처리를 신랄하게 해 주기 바람)
예) 답이 49일 경우:
숫자를 입력하시오: 36
입력하신 숫자보다 큽니다.
숫자를 입력하시오: 51
입력하신 숫자보다 작습니다.
숫자를 입력하시오: 49
정답입니다!
16. 한 특정한 정수의 전체 자릿수의 개수를 결정하는 프로그램을 작성하시오.
사용자 입력 : 한 개의 정수
출력 : 자릿수의 개수
17. 1부터 100까지의 합을 for loop을 써서 구하는 프로그램을 작성하시오.
18. 1부터 100까지 5의 배수의 합을 for loop을 써서 구하는 프로그램을 작성하시오.
19. 사용자로부터 한 숫자를 입력받아, 입력받은 숫자가 소수인지 아닌지를 검사하는 프로그램을 작성하시오.
20. 100 이하의 소수를 모두 출력하는 프로그램을 작성하시오.
21. 사용자로부터 한 숫자를 입력받아, 입력받은 숫자 이하의 소수들의 합을 구하는 프로그램을 작성하시오.
22. 사용자가 0을 입력할 때까지 여러 숫자를 입력받아, 입력받은 숫자의 최대값을 출력하는 프로그램을 작성하시오.
사용자 입력
3
2
4
8
결과: 8
23.***** *
*** ***
* *****
를 출력하시오(반복문 써서!)
24.사용자에게 라인 수를 입력받아서 그 줄 수 만큼 별표 삼각형을 만드시오.
사용자 입력: 4
*
***
*****
*******
25.다음과 같은 출력이 나오도록 프로그램을 작성하시오.
(1) *********** (2)54321012345
********* 432101234
******* 3210123
***** 21012
*** 101
* 0
*** 101
***** 21012
******* 3210123
********* 432101234
*********** 54321012345
배열 관련 실습 문제
1. 크기가 10인 정수 배열을 사용하여 학생 10명의 성적을 입력 받은 후, 성적 총합과 평균 점수, 최고 점수, 최저 점수를 출력하는 프로그램을 작성 하시오.
2. 10개짜리 정수형 배열을 사용자로부터 입력 받고, 숫자 하나를 추가로 입력받아, 입력받은 숫자가 배열에 몇 개 존재하는 지를 출력하는 프로그램을 작성하시오.
예) Input : 6 4 3 4 2 4 2 7 6 3
search num : 4
=> count: 3
3. 학생 3명의 학급에서 각각 국어 영어 수학의 시험 성적을 배열을 이용하여 입력 받은 후, 각 과목 총합과 평균을 출력하는 프로그램을 작성하시오.(입력은 학생 순서로 수행)
입력 예)
학생 1: 77 66 88
학생 2: 90 80 100
학생 3: 65 75 85
출력 결과)
Kor Eng Math Total Avg
77 66 88 231 77.0
90 80 100 270 80.0
65 75 85 225 75.0
4. 앞 문제를 2차원 배열을 사용하여 작성하시오.
5. 문자열을 입력하면 문자 개수를 출력하는 프로그램을 작성하시오.
6. 두 개의 문자열을 입력 받아, 첫번째 문자열에 두 번째 문자열이 포함되어 있는 지를 검사하고, 만약 포함 되어 있으면 그 위치를 출력하시오.
예)
How are you ?
are
-> yes, 4 (포함되어 있고 4번째 부터 존재함)
7. 크기가 10인 정수 배열을 사용하여 학생 10명의 성적을 입력 받은 후, 성적 총합과 평균 점수, 최고 점수, 최저 점수를 출력하는 프로그램을 작성 하시오.
8. 크기가 5인 정수 배열을 사용하여 10 개의 정수를 입력받아, 가장 큰 두 수의 곱을 찾는 프로그램을 작성 하시오.
예) Input : 6 4 3 4 2
result : 24
9. 정수형 데이터를 갖는 3X3 행렬 2개를 입력받아, 그 곱을 출력하는 프로그램을 작성하시오.
10. 단어가 회문 (앞뒤 어느 쪽에서 읽어도 같은 어구) 인지를 결정하는 프로그램을 작성하여라.
11. 연수와 월수를 입력하면 달력이 출력되는 프로그램을 작성하시오.(굉장히 어려운 문제)
조건:
1년 1월 1일은 월요일이다
4년마다 한 번씩 윤년(원래 2월은 28일까지지만, 윤년 때의 2월은 29일까지임)
그런데 100년마다는 윤년이 아님
그런데! 400년마다는 또 윤년임!
(따라서 300년은 윤년이 아니지만, 2000년은 윤년임)
연수를 입력하시오: 2006
월수를 입력하시오: 8
일 월 화 수 목 금 토
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
포인터 관련 실습 예제
1. 정수로 이루어진 배열과, 배열의 원소의 개수를 인수로 받아 합계를 구하는 int sum(int *array, int number) 함수를 작성하고, 그 결과(main() 함수에서 호출하여)를 보여라
2. 두 개의 숫자를 더하는 int add(int num1, int num2), 두개의 숫자를 빼는 int subtract(int num1, int num2), 두개의 숫자를 곱하는 int mul(int num1, int num2)를 각각 작성한다.
사용자가 “add”를 입력하면 두개의 숫자를 추가로 입력받아 add()함수를 호출하여 더한 결과를 출력하고, “sub”를 입력하면 두개의 숫자를 추가로 입력받아 subtract()함수를 호출하여 뺄셈한 결과를 출력한다.
위의 연산을 사용자가 “quit”을 입력할 때까지 계속 되풀이한다.
strcmp() 표준함수 사용.
3. 정수로 이루어진 배열과, 배열의 원소의 개수를 인수로 받아 합계를 구하는 int sum(int *array, int number) 함수를 작성하고, 그 결과(main() 함수에서 호출하여)를 보여라
4. 두 개의 정수를 인자로 받아서 그 값을 맞바꾸는 일을 하는 swap_int()함수를 작성하고 그 결과(main() 함수에서 호출하여)를 보여라
모듈화 프로그램 관련 실습 예제
1. 시간 입력을 초로 환산하는 함수를 작성하시오.
함수 입력 : 시, 분, 초를 나타내는 세 개의 정수
함수 반환값 : 초로 환산된 정수
2. 소문자를 대문자로 변환하는 함수를 작성하시오.
함수 입력 : 한 개의 소문자
함수 출력 : 입력이 알파벳 중 하나이면, 해당하는 대문자, 그렇지 않으면 ?표시
3. 어떤 한 수를 가장 가까운 100 단위로 정수화하는 함수를 작성하시오.
함수 입력 : 실수
함수 출력 : 입력에 가장 가까운 100의 배수
4. 다음 조화 수열의 처음부터 k번째 항까지 합산하는 함수를 작성하시오.
함수 입력 : 합산할 항들의 개수를 나타내는 정수
함수 출력 : 합산 결과 (실수)
5. 어떤 한 실수를 정수로 바꾸면서 소수점 이하를 자르는 함수를 작성하시오.
함수 입력 : 실수
함수 출력 : 소수점 이하가 잘린 정수
6. 점수를 학점으로 변환하는 함수를 작성하시오.
함수 입력 : 0-100 사이의 점수 (정수)
함수 반환값 : 학점
A : 80-100
B : 70-79
C : 60-69
D : 50-59
F : 0-49
구조체 관련 실습 예제
1. 학생 3명의 학급에서 각각 국어 영어 수학의 시험 성적을 입력 받은 후, 각 과목 총합과 평균을 출력하는 프로그램을 작성하시오.
먼저 국어, 영어, 수학 성적을 멤버로 하는 구조체 student_t 를 정의한다.
학생이 3명이므로 student_t 타입의 변수 3개, 혹은 배열을 정의하여, 해당 변수에 성적을 입력받는다.
각 과목의 총합을 구하는 함수를 각각 작성하여 총합과 평균을 구한 후 이를 출력한다.
2. 사람의 이름과 전화번호를 멤버로 하는 구조체, phonebook_t 를 정의하고, phonebook_t 타입의 배열 변수를 정의하여 키보드로부터 3명의 이름과 전화번호를 입력받는다.
사람의 이름을 입력받으면 전화번호를 출력하는 프로그램을 작성한다. 이름이 이미 입력받은 전화번호부에 있으면 전화번호를 출력하고, 없으면 없다는 메시지를 출력한다.
3. 복소수를 저장할 수 있는 구조체를 정의하고, 사용자로부터 2 개의 복소수를 입력받아, 그 합을 구하는 프로그램을 작성하시오.
4. 먼저 국어, 영어, 수학 성적을 멤버로 하는 구조체 student_t 를 정의한다. 학생이 3 명이므로 student_t 타입의 변수 3 개, 혹은 배열을 정의하여, 해당 변수에 성적을 입력받고, 총합과 평균을 구한 후 이를 출력한다.
5. 사람의 이름과 전화번호를 멤버로 하는 구조체, phonebook_t 를 정의하고, phonebook_t 타입의 배열 변수를 정의하여 키보드로부터 3명의 이름과 전화번호를 입력받는다.
6. 사람의 이름을 입력받으면 전화번호를 출력하는 프로그램을 작성한다. 이름이 이미 입력받은 전화번호부에 있으면 전화번호를 출력하고, 없으면 없다는 메시지를 출력한다.
7. 학생의 이름, 주소, 전화번호, 전공 등을 멤버로 하는 구조체, student_t 를 정의하고, student_t 타입의 배열 변수를 정의한다. (배열은 3개의 원소를 저장하는 크기).
키보드로부터 3명의 인적사항을 입력받는다.
학생의 이름을 입력받으면 해당 학생의 인적 사항을 출력한다. 학생의 이름이 없으면 없다는 메시지를 출력한다.
링크드 리스트 실습 관련 예제
목표는 전화번호부를 만드는 것이다. 사람의 이름과 전화번호를 멤버로 하는 구조체, phone을 정의한다.
다음과 같은 목록이 있다.
1. 입력
2. 삭제
3. 출력
원하는 항목을 선택하십시오(숫자) :
사용자가 ‘입력’을 선택하면, 이름과 전화번호를 입력받아 저장한다.
사용자가 ‘삭제’를 선택하면, 정보를 삭제할 수 있도록 삭제하고자 하는 사람의 이름을 입력받게 한다. 이름을 바르게 입력하면 관련 정보가 모두 삭제된다. 만약 없는 이름이라면, 이름이 없다는 에러 처리를 한다.
사용자가 ‘출력’을 선택하면, 여태까지 입력되었던 모든 정보(이름과 전화번호)를 출력한다
So you have finished reading the c 언어 예제 모음 topic article, if you find this article useful, please share it. Thank you very much. See more: c언어 예제 사이트, c언어 알고리즘 예제, c언어 오픈소스, c언어 기초, c언어 코드, c언어 게임 소스코드, C 소스, C언어 거듭제곱 반복문