곽길문 ¶
#ìƒˆì‹¹ê³¼ì œ.20105801 곽길문
1~5.www.koistudy.net ì½”ì�´ìŠ¤í„°ë”” 100번~104번까지 Accept받기(등업ì�´ 안ë�˜ì–´ 있으면 ê·¸ ë¬¸ì œì�˜ 소스를 ì €í•œí…Œ 보내주세요)
-#include<stdio.h>
int main()
{
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",a+b);
return 0;scanf("%d %d",&a,&b);
printf("%d",a+b);
}
-#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d %d",a/b,a%b);
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d %d",a/b,a%b);
return 0;
}
-#include<stdio.h>
int main()
{
double a,b;
scanf("%lf %lf",&a,&b);
printf("%g ",a*b/2);
{
double a,b;
scanf("%lf %lf",&a,&b);
printf("%g ",a*b/2);
return 0;
}
-#include<stdio.h>
-#include<stdio.h>
int main()
{
float r,c;
{
float r,c;
scanf("%f ",&r);
c=(float)r/2;
printf("%.2f ",c*c*3.14);
c=(float)r/2;
printf("%.2f ",c*c*3.14);
return 0;
}
-#include<stdio.h>
int main()
{
float n1,n2,n3;
{
float n1,n2,n3;
scanf("%f %f %f",&n1,&n2,&n3);
printf("%.3f ",(float)(n1+n2+n3)/3);
printf("%.3f ",(float)(n1+n2+n3)/3);
return 0;
}
6.í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 함수 swap 짜보기(대부분ì�˜ ì±… ì˜ˆì œì—� 있습니다. ë”°ë�¼ ì�¨ë³´ê³ 코드를 ì�´í•´í•´ 보세요)
-#include<stdio.h>
void swap(int *a,int *b);
int main()
{
int main()
{
char x='A',y='B';
printf("x= %c y=%c\n",x,y);swap(&x,&y);
printf("x=%c ,y=%c\n",x,y);
return 0;
printf("x=%c ,y=%c\n",x,y);
return 0;
}
void swap(int *a,int *b)
{
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;temp=*a;
*b=temp;
}
7.2차� 배열(4x4) �개� 곱� 구하는 프로그램 작성.
2X2í–‰ë ¬ì�˜ ê³±ì�„ 해봤습니다
#include<stdio.h>
printf("í–‰ë ¬ì�˜ ê³±\n");
for(j=0;j<2;j++){
}
for(p=0;b<2;p++){
if(j==0 && p==0){
}else if(j==0&& p==1){
}else if(j==1&&p==0){
}else{
}
cjp=q*w+e*r;
printf("%d",cjp);
}
printf("\n");if(j==0 && p==0){
}else if(j==0&& p==1){
}else if(j==1&&p==0){
}else{
}
cjp=q*w+e*r;
printf("%d",cjp);
}
}
return 0;
}
}
8.다ì�Œ 형태로 ì¶œë ¥ë�˜ëŠ” 프로그램ì�„ ì§œ 보세요.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
#include<stdio.h>
int main()
{
int a[]5={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};
int c55;
int j,p;
int main()
{
int a[]5={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};
int c55;
int j,p;
for(j=0;j<5;j++){
for(p=0;p<5;p++){
for(p=0;p<5;p++){
}
printf("\n");
j++;
}
printf("\n");
j++;
}
return 0;
}
}
9.í�¬ì�¸í„°ë¥¼ ì�´ìš©í•œ ì˜ˆì œì½”ë“œ 하나를 ì§œ 보세요.
#include<stdio.h>
int main()
{
int main()
{
int num=2;
int *a;
a=#
printf("%d\n",*a);
return 0;
}int *a;
a=#
printf("%d\n",*a);
return 0;
//'0'ì�´ ì¶œë ¥ë�œë‹¤.
10.LinearSearch를 구현해보세요. ë°°ì—´ì�€ 1000개로 ìž¡ê³ , random함수를 ì�´ìš©í•´ 1부터 1000까지ì�˜ 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë°°ì—´ì—� ë„£ì�€ 후, 777ì�´ ë°°ì—´ë‚´ì—� 있었는지를 찾으면 ë�©ë‹ˆë‹¤. 프로그램ì�„ 실행시킬 때마다 결과가 달ë�¼ì§€ê² ì£ ?
(rand()%1000� 한다면 1�서 1000까지� 숫�가 나올 것입니다.)
-linear search란 리스트ì�˜ 처ì�Œë¶€í„° 하나씩 비êµ�하여 찾아가는 ì„ í˜•íƒ�색ì�„ ë§�한다.
ì§§ì�€ ì˜ˆì œë¥¼ 공부해서 ê°€ë ¤í•©ë‹ˆë‹¤
#include<stdio..h>
int Lsearch(int ar[], int len, int targer)
{
int i;
for(i=0;i
int Lsearch(int ar[], int len, int targer)
{
int i;
for(i=0;i
return -1;
}
int main(){
int arr[]={3,5,2,4,9};
int idx;
idx=Lsearch(arr,sizeof(arr)/sizeof(int),4);
int idx;
idx=Lsearch(arr,sizeof(arr)/sizeof(int),4);
if(idx== -1)
printf("search fail\n");
else
printf("%d\n",idx);
idx = Lsearch(arr,sizeof(arr)/sizeof(int),7);
printf("search fail\n");
else
printf("%d\n",idx);
idx = Lsearch(arr,sizeof(arr)/sizeof(int),7);
if(idx ==-1)
printf("search fail\n");
else
printf("%d\n",idx);
return 0;
printf("search fail\n");
else
printf("%d\n",idx);
return 0;
}
11.Sort를 하나 구현해보세요. 11번과 ê°™ì�€ 방법으로 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë„£ì�€ 후, ì •ë ¬í•˜ê³ , ì •ë ¬ë�œ 것ì�„ ì¶œë ¥í•˜ë©´ ë�©ë‹ˆë‹¤.
- u.u
- u.u
12.ì�´ë²ˆì‹œê°„ì—� ë°°ì› ë�˜ ë‚´ìš©ì�„ 바탕으로, int* a; int b;로 ì„ ì–¸í–ˆì�„때 &a,a,*a,&b,bì—� 관해서 ê°�ê°� ì„¤ëª…í•˜ê³ , ì–´ë–¤ 것ì�´ ì–´ë–¤ 것과 ì�¼ì¹˜í•˜ëŠ” 것ì�¸ì§€ë¥¼ ì�´í•´í• 수 있ë�„ë¡� 쉬운ë§�로 ì •ë¦¬í•´ë³´ì„¸ìš”.(ì˜ˆì œ 코드를 작성한 후ì—� í…ŒìŠ¤íŠ¸í•´ë³´ê³ ì�¨ë³´ëŠ” 것ë�„ 좋ì�€ 방법ì�¼ 것입니다.)
- *aê°€ b를 가리키는 í�¬ì�¸í„°ë�„ ì„ ì–¸ ë�˜ì—ˆë‹¤ë©´, &a는 aì�˜ 주소값, a는 메모리 안ì—� 있는 ê°’(즉, bì�˜ 주소값-í�¬ì�¸í„°ì�˜ ì •ì�˜), &b는 bì�˜ 주소값, b는 메모리 안ì—� 있는 ê°’(í• ë‹¹í•œ ê°’),a=&b와 같다. 둘다 bì�˜ 주소값ì�„ 나타낸다.*a=b와 ê°™ê³ bì—� í• ë‹¹í•œ ê°’ê³¼ 같다.
편집1.4.1.2 예습 ¶
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.
- 다른 종류ì�˜ ë�°ì�´í„°ë¥¼ 하나로 묶어서 사용하는 ë�°ì�´í„° 결합법ì�„ 구조체ë�¼ê³ 한다. 구조체는 ê°™ì�€ ìž�료형ì�„ 묶어서 한다면 구조체는 다른 ìž�료형ì�„ 묶어 사용한다.
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.
- 다른 종류ì�˜ ë�°ì�´í„°ë¥¼ 하나로 묶어서 사용하는 ë�°ì�´í„° 결합법ì�„ 구조체ë�¼ê³ 한다. 구조체는 ê°™ì�€ ìž�료형ì�„ 묶어서 한다면 구조체는 다른 ìž�료형ì�„ 묶어 사용한다.
#include<stdio.h>
struct Student
{
{
int id;
int age;
char *name;
int age;
char *name;
};
int main()
{
struct Student stu;
{
struct Student stu;
stu.id =1001;
stu.age=10;
stu.name ="kim so ri";
stu.age=10;
stu.name ="kim so ri";
printf("id : %d\n",stu.id);
printf("age : %d\n",stu.age);
printf("name : %s\n",stu.name);
printf("age : %d\n",stu.age);
printf("name : %s\n",stu.name);
return 0;
}
}
2.ë�™ì �í• ë‹¹ì�´ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ë�™ì �í• ë‹¹ì�„ 하는 방법ì�„ ì�¨ 보세요.
-ë�™ì �í• ë‹¹ mallocì—� 대해.....
mollocì�€ 함수가 ì›�하는 ì—활ì�€ 우리가 ì›�하는 í�¬ê¸°ì�˜ ìž�료를 메모리ì—� í• ë‹¹í•˜ê³ ê·¸ 주소값ì�„ 다시 ë�˜ë�Œë ¤ 주는 ì—활ì�´ë‹¤.
ìž…ë ¥ê°’ì�€ ì›�하는 í�¬ê¸°, 리턴값ì�€ 메모리 주소ì�´ë‹¤..
mollocì�€ 함수가 ì›�하는 ì—활ì�€ 우리가 ì›�하는 í�¬ê¸°ì�˜ ìž�료를 메모리ì—� í• ë‹¹í•˜ê³ ê·¸ 주소값ì�„ 다시 ë�˜ë�Œë ¤ 주는 ì—활ì�´ë‹¤.
ìž…ë ¥ê°’ì�€ ì›�하는 í�¬ê¸°, 리턴값ì�€ 메모리 주소ì�´ë‹¤..
하는 방법 =
��터 변수 = (��터� �료형 )malloc(�하는 �료�기);
��터 변수 = (��터� �료형 )malloc(�하는 �료�기);
ex..
arr = (int *)malloc(sizeof(int)*nSize); // malloc으로 nSize만� int 형 배열� �성
mallocì�„ 한 후ì—�는 freeì�„ 호출해서 메모리ì—� í• ë‹¹í•˜ì˜€ë�˜ 것ì�„ 풀어주어야 한다. ê·¸ë ‡ì§€ 않으면 메모리ì—� 남겨서 í•„ìš”í• ë•Œ ì‚¬ìš©í• ìˆ˜ê°€ 없다.
3.ì�´ì¤‘í�¬ì�¸í„°ê°€ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ì�´ì¤‘ í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 2ì°¨ì›� 배열형태로 만들어보세요.
- í�¬ì�¸í„°ì�˜ 주소를 가리키는 í�¬ì�¸í„°ë¥¼ ì�´ì¤‘í�¬ì�¸í„°ë�¼ê³ 한다.
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
void main()
{
{
int **ptr;
int i,j,k=1;
//int ptr22;
ptr = (int **)malloc(2*sizeof(int *));
for(i=0;i<2;i++)
for(i=0;i<2;i++)
{
}
}int i,j,k=1;
//int ptr22;
ptr = (int **)malloc(2*sizeof(int *));
for(i=0;i<2;i++)
ptri = (int *)malloc(2*sizeof(int));
for(i=0;i<2;i++)
{
}
//솔ì§�히 ì˜ˆì œ ì�´í•´ê°€ 잘 안가요 ã…œ
4.스íƒ�, í��ê°€ 무엇ì�¸ì§€ ì„¤ëª…í•˜ê³ , ì�´ë¥¼ ì�´ìš©í•œ 간단한 ì˜ˆì œë¥¼ 만들어보세요.
-스íƒ�ì�´ëž€ í›„ìž…ì„ ì¶œë°©ì‹�ì�˜ ìž�료구조, í��는 ì„ ìž…ì„ ì¶œë°©ì‹�으로 처ì�Œìœ¼ë¡œ 들어갔ë�˜ 것ì�´ 맨 ë¨¼ì € 꺼낼수 있는 ë°©ì‹�ì�´ë‹¤.
int sp=0;
int push(int);
int pop(int *);
int push(int);
int pop(int *);
int main(){
int n=0;
push(10);
push(20);
push(30);
if (push(40) == -1)
{
push(10);
push(20);
push(30);
if (push(40) == -1)
{
printf("Stack Overflow\n");
}
pop(&n);
printf("pop : %d\n",n);
pop(&n);
printf("pop : %d\n",n);
pop(&n);
printf("pop : %d\n",n);
printf("pop : %d\n",n);
pop(&n);
printf("pop : %d\n",n);
printf("pop : %d\n",n);
if(pop(&n) == -1)
{
printf("Stack Underflow\n");
{
printf("Stack Underflow\n");
}
return 0;
}
return 0;
}
}else
{
{
return -1; // 가� 찾�때 overflow
}}
}else
{
return -1; //비었� 때. underflow
{
return -1; //비었� 때. underflow
}
}
}
// pop으로 ë�°ì�´í„°ë¥¼ ì¶”ì¶œí• ë•Œ 마지막ì—� 들어간 30부터 나오게 ë�œë‹¤.
-í�� ì˜ˆì œ
#include<stdio.h>
#include<conio.h>
#define MAX 5
#include<stdio.h>
#include<conio.h>
#define MAX 5
void Delete()
{
{
if(rear < 0 )
--rear;
}printf("��� 비울 �가 없�");
else --rear;
void main()
{
{
int insert_num;
int i,j;
for(i=0; i<5; i++)
{
for(j=0; j
for(j = front ; j < 5; j++){ //엔터를 한번씩 누르면 ê°’ì�´ 차례대로 ë¹ ì§�
}
}int i,j;
for(i=0; i<5; i++)
{
printf("숫ìž�를 ìž…ë ¥í•˜ì„¸ìš”");
scanf("%d", &insert_num);
insert(insert_num);
}scanf("%d", &insert_num);
insert(insert_num);
for(j=0; j
printf("%d " ,queuej); printf("\n");
}for(j = front ; j < 5; j++){ //엔터를 한번씩 누르면 ê°’ì�´ 차례대로 ë¹ ì§�
}
ë�„ìƒ�í�¬ ¶
1~5.www.koistudy.net ì½”ì�´ìŠ¤í„°ë”” 100번~104번까지 Accept받기(등업ì�´ 안ë�˜ì–´ 있으면 ê·¸ ë¬¸ì œì�˜ 소스를 ì €í•œí…Œ 보내주세요)
6.í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 함수 swap 짜보기(대부분ì�˜ ì±… ì˜ˆì œì—� 있습니다. ë”°ë�¼ ì�¨ë³´ê³ 코드를 ì�´í•´í•´ 보세요)
-06.c
-06.c
7.2차� 배열(4x4) �개� 곱� 구하는 프로그램 작성.
-07.c
-07.c
8.다ì�Œ 형태로 ì¶œë ¥ë�˜ëŠ” 프로그램ì�„ ì§œ 보세요.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
-배열로 하는건지 아니면 for문� 몇 개를 �야하는 건지 ㅜ,ㅜ
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
-배열로 하는건지 아니면 for문� 몇 개를 �야하는 건지 ㅜ,ㅜ
9.í�¬ì�¸í„°ë¥¼ ì�´ìš©í•œ ì˜ˆì œì½”ë“œ 하나를 ì§œ 보세요.
-09.c
-09.c
10.LinearSearch를 구현해보세요. ë°°ì—´ì�€ 1000개로 ìž¡ê³ , random함수를 ì�´ìš©í•´ 1부터 1000까지ì�˜ 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë°°ì—´ì—� ë„£ì�€ 후, 777ì�´ ë°°ì—´ë‚´ì—� 있었는지를 찾으면 ë�©ë‹ˆë‹¤. 프로그램ì�„ 실행시킬 때마다 결과가 달ë�¼ì§€ê² ì£ ?
(rand()%1000� 한다면 1�서 1000까지� 숫�가 나올 것입니다.)
-10.c
(rand()%1000� 한다면 1�서 1000까지� 숫�가 나올 것입니다.)
-10.c
11.Sort를 하나 구현해보세요. 11번과 ê°™ì�€ 방법으로 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë„£ì�€ 후, ì •ë ¬í•˜ê³ , ì •ë ¬ë�œ 것ì�„ ì¶œë ¥í•˜ë©´ ë�©ë‹ˆë‹¤.
-11.c
-11.c
12.ì�´ë²ˆì‹œê°„ì—� ë°°ì› ë�˜ ë‚´ìš©ì�„ 바탕으로, int* a; int b;로 ì„ ì–¸í–ˆì�„때 &a,a,*a,&b,bì—� 관해서 ê°�ê°� ì„¤ëª…í•˜ê³ , ì–´ë–¤ 것ì�´ ì–´ë–¤ 것과 ì�¼ì¹˜í•˜ëŠ” 것ì�¸ì§€ë¥¼ ì�´í•´í• 수 있ë�„ë¡� 쉬운ë§�로 ì •ë¦¬í•´ë³´ì„¸ìš”.(ì˜ˆì œ 코드를 작성한 후ì—� í…ŒìŠ¤íŠ¸í•´ë³´ê³ ì�¨ë³´ëŠ” 것ë�„ 좋ì�€ 방법ì�¼ 것입니다.)
구조체란 하나 ì�´ìƒ�ì�˜ 변수를 그룹 지어서 새로운 ìž�료형ì�„ ì •ì�˜í•˜ëŠ” 것ì�´ë‹¤.
a_01.c
int* a;
int b=10;
a=&b;
printf("%d\n",&a); //��터 변수 a� 주소
printf("%d\n",a); //aê°€ ê°€ë¦¬í‚¤ê³ ìžˆëŠ” 주소값
printf("%d\n",&b); //b� 주소값
printf("%d\n",b); //b� 들어있는 값
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.int b=10;
a=&b;
printf("%d\n",&a); //��터 변수 a� 주소
printf("%d\n",a); //aê°€ ê°€ë¦¬í‚¤ê³ ìžˆëŠ” 주소값
printf("%d\n",&b); //b� 주소값
printf("%d\n",b); //b� 들어있는 값
구조체란 하나 ì�´ìƒ�ì�˜ 변수를 그룹 지어서 새로운 ìž�료형ì�„ ì •ì�˜í•˜ëŠ” 것ì�´ë‹¤.
a_01.c
2.ë�™ì �í• ë‹¹ì�´ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ë�™ì �í• ë‹¹ì�„ 하는 방법ì�„ ì�¨ 보세요.
‘힙’ì—� 메모리를 í• ë‹¹í•˜ëŠ” 것ì�„ ë‘�ê³ ë�™ì � í• ë‹¹ ì�´ë�¼ 한다.
프로그램ì�´ 실행ë�˜ëŠ” ë�™ì•ˆì—� í• ë‹¹í•´ì•¼ 하는 메모리ì�˜ í�¬ê¸°ë¥¼ ê²°ì •ì§€ì�„ 수 있기 때문ì�´ë‹¤.
-a_02.c
->ì•„ì§� ì�´í•´ê°€ 잘 안ë�¨ã… .ã…
‘힙’ì—� 메모리를 í• ë‹¹í•˜ëŠ” 것ì�„ ë‘�ê³ ë�™ì � í• ë‹¹ ì�´ë�¼ 한다.
프로그램ì�´ 실행ë�˜ëŠ” ë�™ì•ˆì—� í• ë‹¹í•´ì•¼ 하는 메모리ì�˜ í�¬ê¸°ë¥¼ ê²°ì •ì§€ì�„ 수 있기 때문ì�´ë‹¤.
-a_02.c
->ì•„ì§� ì�´í•´ê°€ 잘 안ë�¨ã… .ã…
3.ì�´ì¤‘í�¬ì�¸í„°ê°€ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ì�´ì¤‘ í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 2ì°¨ì›� 배열형태로 만들어보세요.
ì�´ì¤‘ í�¬ì�¸í„°ëŠ” 싱글 í�¬ì�¸í„°ì�˜ 주소 ê°’ì�„ ì €ìž¥í•˜ê¸° 위한 ìš©ë�„로 사용ë�˜ëŠ” í�¬ì�¸í„°ì�´ë‹¤.
a_03.c
ì�´ì¤‘ í�¬ì�¸í„°ëŠ” 싱글 í�¬ì�¸í„°ì�˜ 주소 ê°’ì�„ ì €ìž¥í•˜ê¸° 위한 ìš©ë�„로 사용ë�˜ëŠ” í�¬ì�¸í„°ì�´ë‹¤.
a_03.c
4.스íƒ�, í��ê°€ 무엇ì�¸ì§€ ì„¤ëª…í•˜ê³ , ì�´ë¥¼ ì�´ìš©í•œ 간단한 ì˜ˆì œë¥¼ 만들어보세요.
스íƒ� – ë�°ì�´í„° ìž…/ì¶œë ¥ì�´ 한쪽으로만 ì ‘ê·¼ í• ìˆ˜ 있는 ìž�료 구조. 가장 나중ì—� 들어간 ë�°ì•„타가 ì œì�¼ ë¨¼ì € 나오게 ë�œë‹¤.
í�� – ë¨¼ì € ë„£ì�€ ë�°ì�´í„°ê°€ ë¨¼ì € 나오는 FIFO구조. 스íƒ�ê³¼ 반대ë�˜ëŠ” ê°œë…�ì�˜ ìž�료구조.
->(ì˜ˆì œëŠ” 어떻게 만들어야 ë� ì§€ 잘 ëª¨ë¥´ê² ì�Œ!ã…œ.ã…œ)
스íƒ� – ë�°ì�´í„° ìž…/ì¶œë ¥ì�´ 한쪽으로만 ì ‘ê·¼ í• ìˆ˜ 있는 ìž�료 구조. 가장 나중ì—� 들어간 ë�°ì•„타가 ì œì�¼ ë¨¼ì € 나오게 ë�œë‹¤.
í�� – ë¨¼ì € ë„£ì�€ ë�°ì�´í„°ê°€ ë¨¼ì € 나오는 FIFO구조. 스íƒ�ê³¼ 반대ë�˜ëŠ” ê°œë…�ì�˜ ìž�료구조.
->(ì˜ˆì œëŠ” 어떻게 만들어야 ë� ì§€ 잘 ëª¨ë¥´ê² ì�Œ!ã…œ.ã…œ)
한송ì�´ ¶
1 100)
#include<stdio.h>
int main(){
#include<stdio.h>
int main(){
int a,b;
scanf("%d",&a);
scanf("%d",&b);
printf("%d",a+b);
return 0;
}scanf("%d",&a);
scanf("%d",&b);
printf("%d",a+b);
return 0;
2 101)
#include <stdio.h>
#include <stdio.h>
int main()
{
{
int a,b,c,d;
scanf("%d %d",&a,&b);
c=a/b;
d=a%b;
printf("%d %d",c,d);
return 0;
}scanf("%d %d",&a,&b);
c=a/b;
d=a%b;
printf("%d %d",c,d);
return 0;
3 102)
#include <stdio.h>
#include <stdio.h>
int main()
{
{
int u,h;
double s;
scanf("%d %d", &u,&h);
s = (u*h)/2.0;
return 0;
}double s;
scanf("%d %d", &u,&h);
s = (u*h)/2.0;
printf("%g",s);
return 0;
4 103)
#include <stdio.h>
#include <stdio.h>
int main()
{
{
int R;
double s,r ;
scanf("%d", &R);
r=R/2.0;
s = 3.14*r*r;
return 0;
}double s,r ;
scanf("%d", &R);
r=R/2.0;
s = 3.14*r*r;
printf("%.2lf",s);
return 0;
5 104)
#include <stdio.h>
#include <stdio.h>
int main()
{
{
int a,b,c;
double ave ;
scanf("%d %d %d", &a, &b, &c);
return 0;
}double ave ;
scanf("%d %d %d", &a, &b, &c);
ave = (float)(a + b + c) / 3.0;
printf("%.3lf",ave); return 0;
6 105)
#include<stdio.h>
int main(){
#include<stdio.h>
int main(){
double a,b,c,d;
scanf("%lf",&a);
scanf("%lf",&b);
scanf("%lf",&c);
d=-(b/a);
printf("%g",d);
return 0;
}scanf("%lf",&a);
scanf("%lf",&b);
scanf("%lf",&c);
d=-(b/a);
printf("%g",d);
return 0;
7.í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 함수 swap 짜보기(대부분ì�˜ ì±… ì˜ˆì œì—� 있습니다. ë”°ë�¼ ì�¨ë³´ê³ 코드를 ì�´í•´í•´ 보세요)
#include <stdio.h>
void point(int *pval1 , int *pval2)
{
{
int temp;
temp = *pval1;
>
temp = *pval1;
- pval1=*pval2;
- pval2= temp;
}
void main()
{
void main()
{
int val1;
int val2;
val1=10;
val2=20;
int val2;
val2=20;
printf("%d %d \n" , val1, val2);
point(&val1, &val2);
point(&val1, &val2);
printf("%d %d \n" , val1, val2);
} 8.2차� 배열(4x4) �개� 곱� 구하는 프로그램 작성.
#include <stdio.h>
int main()
{
9.다ì�Œ 형태로 ì¶œë ¥ë�˜ëŠ” 프로그램ì�„ ì§œ 보세요.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
#include <stdio.h>
int main()
{
#include <stdio.h>
int main()
{
int a44,b44,c44,d44={0},i,j,k,l;
printf("배öe열¯¡© a ìž…Oë ¥Â¤A : ");
for(i=0; i<4; i++) //a배öe열¯¡© ìž…Oë ¥Â¤A
{
}
printf("배öe열¯¡© b ìž…Oë ¥Â¤A : ");
for(i=0; i<4; i++) //b배öe열¯¡© ìž…Oë ¥Â¤A
{
}
printf("배öe열¯¡© a ìž…Oë ¥Â¤A : ");
for(i=0; i<4; i++) //a배öe열¯¡© ìž…Oë ¥Â¤A
{
}
printf("배öe열¯¡© b ìž…Oë ¥Â¤A : ");
for(i=0; i<4; i++) //b배öe열¯¡© ìž…Oë ¥Â¤A
{
}
for(i=0; i<4; i++)
{
for(i=0; i<4; i++)
{
}
return 0;
}{
for(j=0; j<4; j++)
{
}
}{
for(k=0; k<4; k++)
{
{ {
for(k=0; k<4; l++)
}
}
}for(i=0; i<4; i++)
{
}
return 0;
9.다ì�Œ 형태로 ì¶œë ¥ë�˜ëŠ” 프로그램ì�„ ì§œ 보세요.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
#include <stdio.h>
int main()
{
for(i=0; i<5; i++)
{
if(i%2==0)
return 0;
}10.í�¬ì�¸í„°ë¥¼ ì�´ìš©í•œ ì˜ˆì œì½”ë“œ 하나를 ì§œ 보세요.
#include<stdio.h>
int main(){
#include<stdio.h>
int main(){
char ch;
char *p;
char *q;
char *p;
char *q;
ch = 'A';
p = &ch;
p = &ch;
q = p;
p = 'Z';
printf("ch가Æ¢® 가Æ¢®지oê³ Ã†i 있O는¥A 값ƨ£ : ch=> %c\n",ch);
}
11.LinearSearch를 구현해보세요. ë°°ì—´ì�€ 1000개로 ìž¡ê³ , random함수를 ì�´ìš©í•´ 1부터 1000까지ì�˜ 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë°°ì—´ì—� ë„£ì�€ 후, 777ì�´ ë°°ì—´ë‚´ì—� 있었는지를 찾으면 ë�©ë‹ˆë‹¤. 프로그램ì�„ 실행시킬 때마다 결과가 달ë�¼ì§€ê² ì£ ?
(rand()%1000� 한다면 1�서 1000까지� 숫�가 나올 것입니다.)
12.Sort를 하나 구현해보세요. 11번과 ê°™ì�€ 방법으로 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë„£ì�€ 후, ì •ë ¬í•˜ê³ , ì •ë ¬ë�œ 것ì�„ ì¶œë ¥í•˜ë©´ ë�©ë‹ˆë‹¤.
13.ì�´ë²ˆì‹œê°„ì—� ë°°ì› ë�˜ ë‚´ìš©ì�„ 바탕으로, int* a; int b;로 ì„ ì–¸í–ˆì�„때 &a,a,*a,&b,bì—� 관해서 ê°�ê°� ì„¤ëª…í•˜ê³ , ì–´ë–¤ 것ì�´ ì–´ë–¤ 것과 ì�¼ì¹˜í•˜ëŠ” 것ì�¸ì§€ë¥¼ ì�´í•´í• 수 있ë�„ë¡� 쉬운ë§�로 ì •ë¦¬í•´ë³´ì„¸ìš”.(ì˜ˆì œ 코드를 작성한 후ì—� í…ŒìŠ¤íŠ¸í•´ë³´ê³ ì�¨ë³´ëŠ” 것ë�„ 좋ì�€ 방법ì�¼ 것입니다.)
&a : a� 주소
*a : aì�˜ 주소가 가르키는 ì‹¤ì œê°’, aì—� 들어있는 ê°’
&b : b� 주소
*b : bì�˜ 주소가 가르키는 ì‹¤ì œê°’, bì—� 들어있는 ê°’
*a = b
*b = a
11.LinearSearch를 구현해보세요. ë°°ì—´ì�€ 1000개로 ìž¡ê³ , random함수를 ì�´ìš©í•´ 1부터 1000까지ì�˜ 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë°°ì—´ì—� ë„£ì�€ 후, 777ì�´ ë°°ì—´ë‚´ì—� 있었는지를 찾으면 ë�©ë‹ˆë‹¤. 프로그램ì�„ 실행시킬 때마다 결과가 달ë�¼ì§€ê² ì£ ?
(rand()%1000� 한다면 1�서 1000까지� 숫�가 나올 것입니다.)
12.Sort를 하나 구현해보세요. 11번과 ê°™ì�€ 방법으로 숫ìž�를 ëžœë�¤ìœ¼ë¡œ ë„£ì�€ 후, ì •ë ¬í•˜ê³ , ì •ë ¬ë�œ 것ì�„ ì¶œë ¥í•˜ë©´ ë�©ë‹ˆë‹¤.
13.ì�´ë²ˆì‹œê°„ì—� ë°°ì› ë�˜ ë‚´ìš©ì�„ 바탕으로, int* a; int b;로 ì„ ì–¸í–ˆì�„때 &a,a,*a,&b,bì—� 관해서 ê°�ê°� ì„¤ëª…í•˜ê³ , ì–´ë–¤ 것ì�´ ì–´ë–¤ 것과 ì�¼ì¹˜í•˜ëŠ” 것ì�¸ì§€ë¥¼ ì�´í•´í• 수 있ë�„ë¡� 쉬운ë§�로 ì •ë¦¬í•´ë³´ì„¸ìš”.(ì˜ˆì œ 코드를 작성한 후ì—� í…ŒìŠ¤íŠ¸í•´ë³´ê³ ì�¨ë³´ëŠ” 것ë�„ 좋ì�€ 방법ì�¼ 것입니다.)
&a : a� 주소
*a : aì�˜ 주소가 가르키는 ì‹¤ì œê°’, aì—� 들어있는 ê°’
&b : b� 주소
*b : bì�˜ 주소가 가르키는 ì‹¤ì œê°’, bì—� 들어있는 ê°’
*a = b
*b = a
1.4.1.2 예습 ¶
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.
구조체 : 서로 다른 종류ì�˜ ë�°ì�´í„°ë¥¼ ì €ìž¥í•˜ê¸° 위한 여러 ìž�료형 변수들ì�˜ ì§‘í•©
#include<stdio.h>
int main(){
printf("�I름¬¡× : %s\n",s.name);
printf("나ø¨£�I : %d\n",s.age);
return 0;
}
2.ë�™ì �í• ë‹¹ì�´ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ë�™ì �í• ë‹¹ì�„ 하는 방법ì�„ ì�¨ 보세요.
ë�™ì � í• ë‹¹ì�„ 하는 ì�´ìœ : 메모리를 ì ˆì•½í•˜ê¸° 위해
ë�™ì � í• ë‹¹ì—� 가장 기번ì �으로 사용ë�˜ëŠ” 것ì�€ malloc함수ì�´ê³ , ì�´ 함수를 사용하기 위해서는 "stdlib.h"í—¤ë�”파ì�¼ì�„ í�¬í•¨í•´ì•¼ 한다
��터 변수 = (��터� �료형 종류)malloc(�하는 �료�기);
3.ì�´ì¤‘í�¬ì�¸í„°ê°€ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ì�´ì¤‘ í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 2ì°¨ì›� 배열형태로 만들어보세요.
�중��터 : ��터 변수를 가르키는 ��터
ì�´ì¤‘í�¬ì�¸í„° 사용ì�´ìœ
: í�¬ì�¸í„°í˜• 변수가 ê°€ì§€ê³ ìžˆëŠ” 주소를 다른 ì§€ì—ì—�서 컨트롤 (바꾸기 ) 위해 !
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.
구조체 : 서로 다른 종류ì�˜ ë�°ì�´í„°ë¥¼ ì €ìž¥í•˜ê¸° 위한 여러 ìž�료형 변수들ì�˜ ì§‘í•©
#include<stdio.h>
int main(){
printf("�I름¬¡× : %s\n",s.name);
printf("나ø¨£�I : %d\n",s.age);
return 0;
}
2.ë�™ì �í• ë‹¹ì�´ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ë�™ì �í• ë‹¹ì�„ 하는 방법ì�„ ì�¨ 보세요.
ë�™ì � í• ë‹¹ì�„ 하는 ì�´ìœ : 메모리를 ì ˆì•½í•˜ê¸° 위해
ë�™ì � í• ë‹¹ì—� 가장 기번ì �으로 사용ë�˜ëŠ” 것ì�€ malloc함수ì�´ê³ , ì�´ 함수를 사용하기 위해서는 "stdlib.h"í—¤ë�”파ì�¼ì�„ í�¬í•¨í•´ì•¼ 한다
��터 변수 = (��터� �료형 종류)malloc(�하는 �료�기);
3.ì�´ì¤‘í�¬ì�¸í„°ê°€ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ì�´ì¤‘ í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 2ì°¨ì›� 배열형태로 만들어보세요.
�중��터 : ��터 변수를 가르키는 ��터
ì�´ì¤‘í�¬ì�¸í„° 사용ì�´ìœ
: í�¬ì�¸í„°í˜• 변수가 ê°€ì§€ê³ ìžˆëŠ” 주소를 다른 ì§€ì—ì—�서 컨트롤 (바꾸기 ) 위해 !
(��터를 체�지 하는게 아니� 주소를 체�지)
ì�´ì¤‘í�¬ì�¸í„° ì„ ì–¸ 방법Int **p;
4.스íƒ�, í��ê°€ 무엇ì�¸ì§€ ì„¤ëª…í•˜ê³ , ì�´ë¥¼ ì�´ìš©í•œ 간단한 ì˜ˆì œë¥¼ 만들어보세요.
스íƒ� : ìž�료를 여러개를 넣었다가 나중ì—� ì‚¬ìš©í•˜ë ¤ê³ í• ë•Œì—�는 나중ì—� ë„£ì�€ 것ì�´ ë¨¼ì € 나오는 구조
í��(Queue) : 프로그램 언어ì—�서 ë³´ë©´ ìž�료 구조ì�˜ 한 형태로 순차 목ë¡�ì�˜ 한 형태를 뜻합니다. ì›�소ì�˜ 삽입ì�€ ë’¤(rear)ì—�서 ì�´ë£¨ì–´ì§€ê³ ì‚ì œëŠ” 앞(front)ì—�서 ì�´ë£¨ì–´ì§€ëŠ” ìž�료 구조를 뜻합니다. 메모리ì—� ì �ìš©í• ê²½ìš° í��는 ì„ ìž…ì„ ì¶œ ë°©ì‹�ì�„ 뜻합니다.
스íƒ� : ìž�료를 여러개를 넣었다가 나중ì—� ì‚¬ìš©í•˜ë ¤ê³ í• ë•Œì—�는 나중ì—� ë„£ì�€ 것ì�´ ë¨¼ì € 나오는 구조
í��(Queue) : 프로그램 언어ì—�서 ë³´ë©´ ìž�료 구조ì�˜ 한 형태로 순차 목ë¡�ì�˜ 한 형태를 뜻합니다. ì›�소ì�˜ 삽입ì�€ ë’¤(rear)ì—�서 ì�´ë£¨ì–´ì§€ê³ ì‚ì œëŠ” 앞(front)ì—�서 ì�´ë£¨ì–´ì§€ëŠ” ìž�료 구조를 뜻합니다. 메모리ì—� ì �ìš©í• ê²½ìš° í��는 ì„ ìž…ì„ ì¶œ ë°©ì‹�ì�„ 뜻합니다.
황혜림 ¶
12.ì�´ë²ˆì‹œê°„ì—� ë°°ì› ë�˜ ë‚´ìš©ì�„ 바탕으로, int* a; int b;로 ì„ ì–¸í–ˆì�„때 &a,a,*a,&b,bì—� 관해서 ê°�ê°� ì„¤ëª…í•˜ê³ , ì–´ë–¤ 것ì�´ ì–´ë–¤ 것과 ì�¼ì¹˜í•˜ëŠ” 것ì�¸ì§€ë¥¼ ì�´í•´í• 수 있ë�„ë¡� 쉬운ë§�로 ì •ë¦¬í•´ë³´ì„¸ìš”.(ì˜ˆì œ 코드를 작성한 후ì—� í…ŒìŠ¤íŠ¸í•´ë³´ê³ ì�¨ë³´ëŠ” 것ë�„ 좋ì�€ 방법ì�¼ 것입니다.)
a : a� 들어있는 값
&a : a� 주소
*a : a가 가르키는 변수� 값
&b : b� 주소
b : b� 들어있는 값
1.4.1.2 예습
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.
- 다른 종류� ��터를 하나로 묶어서 사용 하는 ��터 결합법
struct Student
{
int id;
int age;
char* name;
};
2.ë�™ì �í• ë‹¹ì�´ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ë�™ì �í• ë‹¹ì�„ 하는 방법ì�„ ì�¨ 보세요.
- 필요한 ë§Œí�¼ì�˜ 메모리를 ì§�ì ‘ ë�™ì �으로 관리 í• ìˆ˜ ì�´ì�˜ë¡� 해주는 함수ì�´ë‹¤.
int* pTmp=malloc(100);
int* pTmp=(int*)malloc(100);
3.ì�´ì¤‘í�¬ì�¸í„°ê°€ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ì�´ì¤‘ í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 2ì°¨ì›� 배열형태로 만들어보세요.
- ��터� 주소를 가르키는 ��터
4.스íƒ�, í��ê°€ 무엇ì�¸ì§€ ì„¤ëª…í•˜ê³ , ì�´ë¥¼ ì�´ìš©í•œ 간단한 ì˜ˆì œë¥¼ 만들어보세요.
스íƒ� : LIFO(í›„ìž…ì„ ì¶œ) ìž�료를 나중ì—� ë„£ì�€ 것ì�´ ë¨¼ì € 나오는 ìž�료구조
í�� : FIFO(ì„ ìž…ì„ ì¶œ) ë¨¼ì € ë„£ì�€ ìž�료가 ë¨¼ì € 나오는 ìž�료구조
a : a� 들어있는 값
&a : a� 주소
*a : a가 가르키는 변수� 값
&b : b� 주소
b : b� 들어있는 값
1.4.1.2 예습
1.구조체가 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , 간단한 구조체 하나를 만들어보세요.
- 다른 종류� ��터를 하나로 묶어서 사용 하는 ��터 결합법
struct Student
{
int id;
int age;
char* name;
};
2.ë�™ì �í• ë‹¹ì�´ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ë�™ì �í• ë‹¹ì�„ 하는 방법ì�„ ì�¨ 보세요.
- 필요한 ë§Œí�¼ì�˜ 메모리를 ì§�ì ‘ ë�™ì �으로 관리 í• ìˆ˜ ì�´ì�˜ë¡� 해주는 함수ì�´ë‹¤.
int* pTmp=malloc(100);
int* pTmp=(int*)malloc(100);
3.ì�´ì¤‘í�¬ì�¸í„°ê°€ 무엇ì�¸ì§€ ì•Œì•„ë³´ê³ , ì�´ì¤‘ í�¬ì�¸í„°ë¥¼ ì�´ìš©í•´ 2ì°¨ì›� 배열형태로 만들어보세요.
- ��터� 주소를 가르키는 ��터
4.스íƒ�, í��ê°€ 무엇ì�¸ì§€ ì„¤ëª…í•˜ê³ , ì�´ë¥¼ ì�´ìš©í•œ 간단한 ì˜ˆì œë¥¼ 만들어보세요.
스íƒ� : LIFO(í›„ìž…ì„ ì¶œ) ìž�료를 나중ì—� ë„£ì�€ 것ì�´ ë¨¼ì € 나오는 ìž�료구조
í�� : FIFO(ì„ ìž…ì„ ì¶œ) ë¨¼ì € ë„£ì�€ ìž�료가 ë¨¼ì € 나오는 ìž�료구조










