U E D R , A S I H C RSS

새싹교실/2012/AClass/2회차

곽길문 ='perma' href='#s-1'>¶


복습과class='line-anchor' id='line-3'>an>

1.0과 1000 사이의 정를 입받아 모든 릿수 더하 출력하는 로그을 짜 주세요.ass='line-anchor' id='line-5'>>


#include<stdio.h>lass='line-anchor' id='line-8'>n>

int main()ass='line-anchor' id='line-10'>n>
{ass='line-anchor' id='line-11'>n>

int num =0;lass='line-anchor' id='line-13'>an>
int sum =0;lass='line-anchor' id='line-14'>an>
printf("0과 1000이의 정수를 입력 :\n");n class='line-anchor' id='line-16'></span> /> scanf("%d", &num);

dolass='line-anchor' id='line-19'>an>
{ass='line-anchor' id='line-20'>
n>
sum += num %10;an class='line-anchor' id='line-21'>
num/=10;<span class='line-anchor' id='line-23'>

}while(!(num == 0));lass='line-anchor' id='line-25'>an>
printf(" 자리수들의 합 : %d \n",sum);ass='line-anchor' id='line-27'>n>

return 0;
}ass='line-anchor' id='line-30'>n>


2.소문를 대문자로 바꾸 프로램을 작성해 주세.lass='line-anchor' id='line-33'>an>

#include <stdio.h>class='line-anchor' id='line-35'>pan>
>


int main()ass='line-anchor' id='line-38'>n>
{ass='line-anchor' id='line-39'>n>
char replace; class='line-anchor' id='line-40'>span>
/>
printf("문자 : ");n class='line-anchor' id='line-42'></span> /> scanf("%c",&replace);class='line-anchor' id='line-43'>pan>
>
if( 97 <= replace &&; replace <= 129){

printf("문자 :%c\n", replace-32);n class='line-anchor' id='line-47'></span> />
}else if( 65 <=replace &;& replace <= 90){ class='line-anchor' id='line-48'>span>
/>
printf("문자 :%c\n", replace+32);n class='line-anchor' id='line-50'></span> />
}ass='line-anchor' id='line-51'>
n>
return 0;

}ass='line-anchor' id='line-55'>n>


3.다음 모양을 출력는 프그램 작성해 주요.n class='line-anchor' id='line-58'></span> />

한자리 숫자다가 2자리 자이서 깨는 것은 예처리주셔 되고 하지 으셔 됩니.class='line-anchor' id='line-60'>pan>
>

방법은 if(10>x) printf(" ");입다.n class='line-anchor' id='line-62'></span> />

1ass='line-anchor' id='line-64'>n>
2 3 class='line-anchor' id='line-65'>span>
/> 4 5 6pan class='line-anchor' id='line-66'>
<br /> 7 8 9 10ass='line-anchor' id='line-67'>n>
11 12 13 14 15n class='line-anchor' id='line-68'></span> /> 16 17 18 19 20 21<span class='line-anchor' id='line-69'>

#include&lt;stdio.h>lass='line-anchor' id='line-71'>an>

int main()ass='line-anchor' id='line-73'>n>
{ass='line-anchor' id='line-74'>n>
int i,j;<span class='line-anchor' id='line-75'>
int num=1;ass='line-anchor' id='line-76'>n>



for(i=0;i<5;i++){

for(j=0;j<=i;j++){

printf("%d",num);<span class='line-anchor' id='line-84'>
printf(" ");class='line-anchor' id='line-85'>pan>
> num+=1;pan class='line-anchor' id='line-86'>
<br />
}ass='line-anchor' id='line-87'>n>
printf("\n"); class='line-anchor' id='line-89'>span>
/>
}ass='line-anchor' id='line-90'>n>


return 0;



}ass='line-anchor' id='line-98'>n>
4.다음 모양을 출력는 프그램 작성해 주요.n class='line-anchor' id='line-99'></span> />

1ass='line-anchor' id='line-101'>an>
2 3 class='line-anchor' id='line-102'></span> />
4 5 6pan class='line-anchor' id='line-103'>
7 8 9 10ass='line-anchor' id='line-104'>an>
11 12 13 14 15n class='line-anchor' id='line-105'>
16 17 18 19 20 21<span class='line-anchor' id='line-106'>>

#include&lt;stdio.h>// 자추겠..class='line-anchor' id='line-108'>span>
/>

int main(void)n class='line-anchor' id='line-110'>
{ass='line-anchor' id='line-111'>an>
int a;an class='line-anchor' id='line-112'><br /> int b;an class='line-anchor' id='line-113'><br /> int num = 1;class='line-anchor' id='line-114'>span>
/> for(a=1;a<6;a++){

for(b=6;b>a;b--){<span class='line-anchor' id='line-118'>>
printf(" ");class='line-anchor' id='line-119'>span>
/>
}ass='line-anchor' id='line-120'>an>
for(b=1;b<=a;b++){
printf("%d",num);<span class='line-anchor' id='line-123'>>
num+=1;pan class='line-anchor' id='line-124'>

}ass='line-anchor' id='line-127'>an>
printf("\n"); class='line-anchor' id='line-128'></span> />
}ass='line-anchor' id='line-130'>
an>


}ass='line-anchor' id='line-133'>an>
5.위 두 프로램을 반화 시켜 력받 숫자큼 출력해주는 프그램 작성주세.(위 로그은 21 입력)ass='line-anchor' id='line-134'>an>
//1.3.6.10 수열 규칙을 찾서 행 만들어 주고 한… 코딩 생 하는 시간이 세간 초.. 그서 6 입력면 행이 6이 되는 각형 듬..pan class='line-anchor' id='line-135'>



#include&lt;stdio.h>lass='line-anchor' id='line-138'>pan>
>

int main()ass='line-anchor' id='line-140'>an>
{ass='line-anchor' id='line-141'>an>
int i,j;<span class='line-anchor' id='line-142'>>
int num=1;ass='line-anchor' id='line-143'>an>
int a;an class='line-anchor' id='line-144'>
<br />
int k=0;<span class='line-anchor' id='line-147'>>

printf("수 입력:");pan class='line-anchor' id='line-149'>
scanf("%d",&a);an class='line-anchor' id='line-150'><br />
//규칙

for(i=0;i

for(j=0;j<=i;j++){

printf("%d",num);<span class='line-anchor' id='line-159'>>
printf(" ");class='line-anchor' id='line-160'>span>
/> num+=1;pan class='line-anchor' id='line-161'>


}ass='line-anchor' id='line-163'>an>
printf("\n"); class='line-anchor' id='line-165'></span> />
}ass='line-anchor' id='line-166'>
an>

return 0;

}ass='line-anchor' id='line-170'>an>

6.위 프로그램처럼 자를 서대 출력하는 로그을 피미드 형태로 작성 주세.class='line-anchor' id='line-172'>span>
/>

// 숫자로 못겠어 별로 만들어 봤어.lass='line-anchor' id='line-174'>pan>
>

#include&lt;stdio.h>lass='line-anchor' id='line-176'>pan>
>

int main()ass='line-anchor' id='line-178'>an>
{ass='line-anchor' id='line-179'>an>

int i;an class='line-anchor' id='line-181'><br /> int star;
int blank;ass='line-anchor' id='line-183'>
an>
int scan;

printf("수 입력:");pan class='line-anchor' id='line-186'>
scanf("%d",&scan);


for(i=1;i<=scan;i++)
{ass='line-anchor' id='line-191'>an>
for(blank=scan; blank>i;blank--)n class='line-anchor' id='line-192'>

printf(" ");class='line-anchor' id='line-193'>span>
/>
for(star=1;star<=2*i-1;star++)class='line-anchor' id='line-194'>span>
/>
printf("*");class='line-anchor' id='line-195'>span>
/> printf("\n"); class='line-anchor' id='line-196'></span> />

}ass='line-anchor' id='line-198'>an>


}ass='line-anchor' id='line-201'>an>
7.위 프로그램처럼 자를 서대 출력하는 로그을 다아몬 형태로 작해 주요.an class='line-anchor' id='line-202'>
<br />

// *로 봤어.. class='line-anchor' id='line-204'></span> />

#include&lt;stdio.h>lass='line-anchor' id='line-206'>pan>
> int diamond(int a);ass='line-anchor' id='line-207'>an>
int main()ass='line-anchor' id='line-208'>an>
{ass='line-anchor' id='line-209'>an>
int i;an class='line-anchor' id='line-210'><br /> printf("수 입력-홀: ");an class='line-anchor' id='line-212'><br /> scanf("%d",&i);an class='line-anchor' id='line-213'><br /> diamond(i);lass='line-anchor' id='line-215'>pan>
> return 0;


}ass='line-anchor' id='line-219'>an>
int diamond(int a)
{ass='line-anchor' id='line-221'>an>
int i,j;<span class='line-anchor' id='line-222'>>
for(i=0;i<=a/2;i++){
for(j=a/2;j>i;j--){ass='line-anchor' id='line-224'>an>
printf(" ");class='line-anchor' id='line-225'>span>
/>
}ass='line-anchor' id='line-226'>an>
for(j=0;j<=i;j++){
printf("*");class='line-anchor' id='line-228'>span>
/>
}ass='line-anchor' id='line-229'>an>
for(j=0;j

printf("*");class='line-anchor' id='line-231'>span>
/>
}ass='line-anchor' id='line-232'>an>
printf("\n"); class='line-anchor' id='line-233'></span> />

}ass='line-anchor' id='line-235'>an>
for(i=0;i

for(j=0;j<=i;j++){
printf(" ");class='line-anchor' id='line-238'>span>
/>

}ass='line-anchor' id='line-240'>an>
for(j=a/2;j>i;j--){ass='line-anchor' id='line-241'>an>
printf("*");class='line-anchor' id='line-242'>span>
/>
}ass='line-anchor' id='line-243'>an>
for(j=a/2;j>i+1;j--){class='line-anchor' id='line-244'>span>
/>
printf("*");class='line-anchor' id='line-245'>span>
/>

}ass='line-anchor' id='line-247'>an>
printf("\n"); class='line-anchor' id='line-248'></span> /> }ass='line-anchor' id='line-250'>an>
return i,j;lass='line-anchor' id='line-251'>pan>
>
}ass='line-anchor' id='line-252'>an>
8.아래 프로그램을 고하 60점 하는 F, 61~70 D, 71~80 C, 81~90 B, 90~ A인 프로그램을 작해주요.n class='line-anchor' id='line-253'>


#include <stdio.h>class='line-anchor' id='line-255'>span>
/> int main(){lass='line-anchor' id='line-256'>pan>
>
int num;<span class='line-anchor' id='line-257'>>

printf("적 입력 : ");
scanf("%d", &num);

switch(num/10){an class='line-anchor' id='line-262'><br />
case 10 :
case 9 :<span class='line-anchor' id='line-264'>>
printf("A\n");n class='line-anchor' id='line-265'>
break;an class='line-anchor' id='line-266'><br />
case 8 :<span class='line-anchor' id='line-267'>>
printf("B\n");n class='line-anchor' id='line-268'>
break;an class='line-anchor' id='line-269'><br />
case 7 :<span class='line-anchor' id='line-270'>>
printf("C\n");n class='line-anchor' id='line-271'>
break;an class='line-anchor' id='line-272'><br />
case 6:pan class='line-anchor' id='line-273'>
printf("D\n");n class='line-anchor' id='line-274'>
break;an class='line-anchor' id='line-275'><br />
default :
printf("F\n");n class='line-anchor' id='line-277'>
break;an class='line-anchor' id='line-278'><br />
}ass='line-anchor' id='line-279'>
an>

}ass='line-anchor' id='line-281'>an>
9.101부200까의 모든 정를 더서 반환하는 '함수'를 작해주요.(main문에 sum=Sum(); printf("%d",sum);이 도록주세)lass='line-anchor' id='line-282'>pan>
> #include&lt;stdio.h>lass='line-anchor' id='line-283'>pan>
>

int Sum(int x);an class='line-anchor' id='line-285'><br /> int main()ass='line-anchor' id='line-286'>an>
{ass='line-anchor' id='line-287'>an>
int su;pan class='line-anchor' id='line-288'>
int sum;<span class='line-anchor' id='line-289'>>
sum=Sum(su);class='line-anchor' id='line-290'>span>
/>
printf("101부터 200까지의 합: %d\n",sum);lass='line-anchor' id='line-292'>
pan>
>
return 0;
}ass='line-anchor' id='line-295'>an>

int Sum(int x)n class='line-anchor' id='line-297'>
{ass='line-anchor' id='line-298'>an>
int sum=0;ass='line-anchor' id='line-299'>an>

for(x=100;x<201;x++)lass='line-anchor' id='line-301'>pan>
>
sum+=x;pan class='line-anchor' id='line-302'>

return x,sum; class='line-anchor' id='line-304'></span> />
}ass='line-anchor' id='line-306'>an>

10.재귀함수를 이용 n!을 력하 프로그램을 작성 주세.class='line-anchor' id='line-308'>span>
/>


#include&lt;stdio.h>lass='line-anchor' id='line-311'>pan>
>


int factorial(int x);class='line-anchor' id='line-314'>span>
/> int main()ass='line-anchor' id='line-315'>an>
{ass='line-anchor' id='line-316'>an>
int n;an class='line-anchor' id='line-317'><br />
printf(" 입력:"); class='line-anchor' id='line-320'></span> /> scanf("%d",&n);an class='line-anchor' id='line-321'><br />

factorial(n); class='line-anchor' id='line-324'></span> /> printf("%d! = %d\n",n,factorial(n));


return 0; ass='line-anchor' id='line-329'>
an>
}ass='line-anchor' id='line-330'>an>
int factorial(int x){class='line-anchor' id='line-331'>span>
/>

if(x==1)<span class='line-anchor' id='line-333'>>
return 1;

else returnlass='line-anchor' id='line-336'>pan>
>
x*factorial(x-1);<span class='line-anchor' id='line-337'>>



}ass='line-anchor' id='line-341'>an>

11.n!을 출력하는 프그램 for문로 작성해주세요.pan class='line-anchor' id='line-343'>
#include&lt;stdio.h>lass='line-anchor' id='line-344'>
pan>
>

int main()ass='line-anchor' id='line-346'>an>

{ass='line-anchor' id='line-348'>an>

int j;an class='line-anchor' id='line-350'><br /> int a;an class='line-anchor' id='line-351'><br /> int factorial=1;pan class='line-anchor' id='line-352'>

printf("factorial,input number:");pan class='line-anchor' id='line-354'>
scanf("%d",&a);an class='line-anchor' id='line-355'><br />
if(a==1)<span class='line-anchor' id='line-357'>>
return 1;

for(j=1;j<=a;j++){
factorial *=j;n class='line-anchor' id='line-361'>

}ass='line-anchor' id='line-363'>an>
printf("%d\n",factorial);pan class='line-anchor' id='line-364'>


return 0;


}ass='line-anchor' id='line-369'>an>

12.재귀함수를 이용 1부터10까지 더하는 프그램 작성 주세요. class='line-anchor' id='line-371'></span> /> #include&lt;stdio.h>lass='line-anchor' id='line-372'>pan>
>


int self(int x);pan class='line-anchor' id='line-375'>
int main(){lass='line-anchor' id='line-376'>
pan>
>

int result;lass='line-anchor' id='line-378'>pan>
> int a;an class='line-anchor' id='line-379'>
<br />
result =self(a);// 재귀 n class='line-anchor' id='line-381'>

printf("%d\n",result); class='line-anchor' id='line-383'></span> /> return 0;
}ass='line-anchor' id='line-386'>an>
int self(int x){pan class='line-anchor' id='line-387'>


int sum=0;ass='line-anchor' id='line-389'>an>
for(x=1;x<11;x++){
sum=x+sum;ass='line-anchor' id='line-391'>an>
}ass='line-anchor' id='line-392'>an>

return x,sum; class='line-anchor' id='line-394'></span> />
}ass='line-anchor' id='line-395'>an>
13.배열에 {7,4,2,9,3,1,2}가 들있습다. 배열서 3 있는 없는지를 아서 력해는 프로그램을 작해주요.n class='line-anchor' id='line-396'>


#include&lt;stdio.h>lass='line-anchor' id='line-398'>pan>
>

int main()ass='line-anchor' id='line-400'>an>
{ass='line-anchor' id='line-401'>an>

int an>s='nonexistent' rel='nofollow' href='/wiki.php/7'>7>= {7,4,2,9,3,1,2};<span class='line-anchor' id='line-403'>>
int i=0;<span class='line-anchor' id='line-404'>>


for(i=0;i<7;i++){
if(a>='nonexistent' rel='nofollow' href='/wiki.php/i'>i==3) class='line-anchor' id='line-408'></span> />
printf("3이 있니다.");lass='line-anchor' id='line-409'>pan>
>

}ass='line-anchor' id='line-412'>an>
return 0;
}ass='line-anchor' id='line-414'>an>
14.배열에 {7,4,2,9,3,1,2}가 들있습다. 배열서 1 몇번에 있는지를 찾아 출력주는 프로그램을 성해세요. (단, 7 첫번입니)class='line-anchor' id='line-415'>span>
/>

#include&lt;stdio.h>lass='line-anchor' id='line-417'>pan>
>

int main()ass='line-anchor' id='line-419'>an>
{ass='line-anchor' id='line-420'>an>

int an>s='nonexistent' rel='nofollow' href='/wiki.php/7'>7>= {7,4,2,9,3,1,2};<span class='line-anchor' id='line-422'>>
int i=0;<span class='line-anchor' id='line-423'>>
int count=0;class='line-anchor' id='line-424'>span>
/>
for(i=0;i<7;i++){
count+=1;
if(a>
='nonexistent' rel='nofollow' href='/wiki.php/i'>i==1){n class='line-anchor' id='line-428'>

printf("1이 %d번째에 습니.", count);class='line-anchor' id='line-430'>span>
/> }ass='line-anchor' id='line-431'>an>
}ass='line-anchor' id='line-432'>an>

}ass='line-anchor' id='line-435'>an>
15.배열에 {7,4,2,9,3,1,2}가 들있습다. 배열서 2 있는 없는지를 사하, 있다면 어에 있지 전부 출해주 프로램을 작성해주세요.ass='line-anchor' id='line-436'>an>
// 몇번째 있지는 if문이 번돌아서 3째 7째 뜨데.. 번에 출력하는 거 잘 못하겠어요…an class='line-anchor' id='line-437'><br />
#include&lt;stdio.h>lass='line-anchor' id='line-438'>pan>
>

int main()ass='line-anchor' id='line-440'>an>
{ass='line-anchor' id='line-441'>an>

int an>s='nonexistent' rel='nofollow' href='/wiki.php/7'>7>= {7,4,2,9,3,1,2};<span class='line-anchor' id='line-443'>>
int i=0;<span class='line-anchor' id='line-444'>>
int count=0;class='line-anchor' id='line-445'>span>
/>
for(i=0;i<7;i++){
count+=1;
if(a>
='nonexistent' rel='nofollow' href='/wiki.php/i'>i==2){n class='line-anchor' id='line-449'>

printf("2가 %d번째에 습니.\n", count);n class='line-anchor' id='line-451'>
}ass='line-anchor' id='line-452'>an>
}ass='line-anchor' id='line-453'>an>

}ass='line-anchor' id='line-456'>an>

16.배열에 {7,4,2,9,3,1,2}가 들있습다. 배열 정렬(오름순으)하고, 출력는 프그램 작성해주세요. class='line-anchor' id='line-458'></span> />

#include&lt;stdio.h>lass='line-anchor' id='line-460'>pan>
>


void sort(int a[], int n);<span class='line-anchor' id='line-463'>>
void main()lass='line-anchor' id='line-464'>pan>
> {ass='line-anchor' id='line-465'>an>
int list<span>lass='nonexistent' rel='nofollow' href='/wiki.php/7'>7={7,4,2,9,3,1,2};
int n=sizeof(list)/sizeof(int); class='line-anchor' id='line-467'></span> /> int i;an class='line-anchor' id='line-468'><br /> sort(list,n); class='line-anchor' id='line-470'></span> />
for(i=0;i<7;i++)
printf("%d\n",listian>);n class='line-anchor' id='line-473'>

}ass='line-anchor' id='line-475'>an>

void sort(int a[], int n)pan class='line-anchor' id='line-477'>
{ass='line-anchor' id='line-478'>an>

int i,j,temp; class='line-anchor' id='line-480'></span> /> for(i=0;i
for(j=i+1;j{ass='line-anchor' id='line-483'>an>

}ass='line-anchor' id='line-490'>an>

}ass='line-anchor' id='line-492'>an>

}ass='line-anchor' id='line-494'>an>




•예습과제an class='line-anchor' id='line-499'><br />

1.2차원 배열 무엇지 쓰고, 어게 선언하는지도 성한 , 이 이용 간단한 프그램 작성주세.class='line-anchor' id='line-501'>span>
/>

-동일 데이형의 많은 수를 리하 위한 단수 수를 사용하면 변이름 각각 다른 름으 사용야하 때문에 많 불편 따른다. 이한 불편함을 덜기 하여 같은 이터인 일의 기억장소를 표한 변를 '열변'라 한다. 즉 배열을 이용면 여개의 변수를 간단 표현 수가 있다. 2차원 열은 '데이형,배명,그리고 pan>ass='nonexistent' rel='nofollow' href='/wiki.php/%ED%96%89'>행span>'을 나타어 표한다. 1차원 배열은 배열 소의 크기와 데이형이 일한 기억장소를 1의 차원으로 선언였다 말하 2차 배열 2차으로 언(행과열) 것이. class='line-anchor' id='line-503'></span> />

#include&lt;stdio.h>lass='line-anchor' id='line-505'>pan>
>

int main()ass='line-anchor' id='line-507'>an>
{ass='line-anchor' id='line-508'>an>
static int x2an>3an>; //2행 3열의 2차 배열선언an class='line-anchor' id='line-509'><br /> int j,k,sum;class='line-anchor' id='line-510'>span>
/>
x'/wiki.php/0' >0a>='/wiki.php/0' >0</a> = 1;<span class='line-anchor' id='line-512'>>
x
'/wiki.php/0' >0a>='/wiki.php/1' >1</a> = 2;<span class='line-anchor' id='line-513'>>
x
'/wiki.php/0' >0a><a class='nonexistent' rel='nofollow' href='/wiki.php/2'>2span> = 3;ass='line-anchor' id='line-514'>
an>
x'/wiki.php/1' >1a>='/wiki.php/0' >0</a> = 4;<span class='line-anchor' id='line-515'>>
x
'/wiki.php/1' >1a>='/wiki.php/1' >1</a> = 5;<span class='line-anchor' id='line-516'>>
x
'/wiki.php/1' >1a><a class='nonexistent' rel='nofollow' href='/wiki.php/2'>2span> = 6;ass='line-anchor' id='line-517'>an>


sum=0;an class='line-anchor' id='line-520'>
<br /> for(j=0;j<2;j++) //행
for(k=0;k<3;k++) // 열
sum=sum+xjan>kan>; class='line-anchor' id='line-523'></span> />
printf("2차원 열의 =%d\n",sum);n class='line-anchor' id='line-524'>

}ass='line-anchor' id='line-526'>an>

2.srand()함수가 무엇지 찾쓰고, time() 이용 랜덤으로 자를 나 출력하는 프로램을 성해세요.

- 난수(random number)를 생성할때 stdlib.h헤더파일을 코드 포함키고 srand() 사용다.rand()함수는 매 그 값이 같 반면 매실행때마다 난를 다게 생성하기 위해 srand()를 사한다.<span class='line-anchor' id='line-530'>>
srand역 stdlib.h에 포함되어 있다. srand는 시드값을 주 사용는 것이고 시드으로터 특정한 칙으 난수 생성하는 이다.라서 매번 른 난를 얻으려면 시드을 계 바꾸어주어야 한. class='line-anchor' id='line-531'>span>
/> 이러한 코드선을 해서 time()함수를 용해 한다. 이 함를 사용하기 위해 time.h 헤더 파을 코에 포함시켜야 한. 또한 time함는 1970년 1월 1일 이후 경된 시을 초 단위 반환는 함수 이.lass='line-anchor' id='line-532'>pan>
>

#include&lt;stdio.h>lass='line-anchor' id='line-534'>pan>
> #include&lt;stdlib.h>class='line-anchor' id='line-535'>span>
/> #include&lt;time.h>ass='line-anchor' id='line-536'>an>

int main()ass='line-anchor' id='line-538'>an>
{ass='line-anchor' id='line-539'>an>
int a=0;<span class='line-anchor' id='line-540'>>
printf("rand()함를 사용,1개 random number 타내 \n");<span class='line-anchor' id='line-541'>>

srand(time(NULL)); //시드값 = 시class='line-anchor' id='line-543'>span>
/>
printf("%d\n",rand()); class='line-anchor' id='line-546'></span> />
return 0;

}ass='line-anchor' id='line-550'>an>

3.포인가 무엇인지 쓰고, 포인터를 선하는 법을 쓰세요.ass='line-anchor' id='line-552'>an>
-포인는 기장소 있는 어떤 수의 주소를 말한. 즉, 른 기억장소 위치 주소 갖고 있는 수이.포인터는 개의 일 연산자인 &와 *로서 정의한다. &;연산는 일적인 변수 름으 사용고 그 변수 주소 의미한다. &a는 a의 주소를 의미다. *p p안 있는 주소 치의 용을 의미한다. &는 주소 산자고 , *는 간 연산로 포인터선언을 미한. 일반적인 인터 언형: 데터형 *포인터변수명; 이다.

4.배열 포인터의 통점 차이을 찾아보고, 써보록 하세요.pan class='line-anchor' id='line-555'>

-공통인 부은 배열이 자에 해서 행해지는 조은 포터로 모두 표현 수 있다는 이다.<span class='line-anchor' id='line-557'>>
예를 class='line-anchor' id='line-558'></span> /> 선언문 ---> int an>s='nonexistent' rel='nofollow' href='/wiki.php/3'>3>, int *ptr =a; class='line-anchor' id='line-559'></span> /> 배열과 선어 ---> a<a href='/wiki.php/0' >0 == *ptr<span class='line-anchor' id='line-560'>>
위와 은 표 가능하다.(인터에 * 사용는 것은 지하는 에 저장된 을 나내는 것이다.)lass='line-anchor' id='line-564'>pan>
>

차이점으로는 포인는 변인데 비해 열은 수이 포인터는 제든 다른 대상을 가리수 있만 배열은 언될 치가 미 고정되어 다른 상을 가리킬 수 없.또한 포인는 동으로 결정할수 있만 배이 가리키는 배열 크기 선언할 때터 정으로 결정되어있다. 배열 []연자를 이용해 그 값 읽는 것과 인터 간접 조 연으로 그 값 읽는 것의 도 차가 있다. class='line-anchor' id='line-566'></span> />

도상희 ='perma' href='#s-2'>¶


복습과class='line-anchor' id='line-570'>span>
/> 1. 0과 1000 사의 정를 입력받아 모든 릿수 더하여 출하는 로그을 짜 주세.lass='line-anchor' id='line-571'>pan>
> /10, %10 등을 용해 해 보세요.pan class='line-anchor' id='line-572'>

#include <stdio.h>class='line-anchor' id='line-573'>span>
/> int main(){lass='line-anchor' id='line-574'>pan>
>

int num;<span class='line-anchor' id='line-576'>>
int temp1, temp2, temp3;an class='line-anchor' id='line-577'><br /> int sum=0;ass='line-anchor' id='line-578'>an>

printf("0-1000사의 수 입력: ");class='line-anchor' id='line-580'>span>
/> scanf("%d", &num);

if(num>=0 &&amp; num<=1000) class='line-anchor' id='line-583'></span> /> {ass='line-anchor' id='line-584'>an>
temp1=num/1000;an class='line-anchor' id='line-585'><br /> temp2=num%1000;an class='line-anchor' id='line-586'><br /> sum=temp1;ass='line-anchor' id='line-587'>an>
temp1=temp2/100;pan class='line-anchor' id='line-588'>
temp3=temp2%100;pan class='line-anchor' id='line-589'>
sum+=temp1;lass='line-anchor' id='line-590'>
pan>
> temp1=temp3/10;an class='line-anchor' id='line-591'><br /> temp2=temp3%10;an class='line-anchor' id='line-592'><br /> sum+=temp1;lass='line-anchor' id='line-593'>
pan>
> sum+=temp2;lass='line-anchor' id='line-594'>pan>
> printf("%d\n",sum);ass='line-anchor' id='line-595'>
an>
}else printf("0-1000사이 숫자 아님\n");class='line-anchor' id='line-596'>span>
/>
return 0;
}//01.cpan class='line-anchor' id='line-599'>


2. 소문자를 문자 바꾸 프로그램을 작성 주세.class='line-anchor' id='line-602'>span>
/> #include <stdio.h>class='line-anchor' id='line-603'>span>
/> int main(){lass='line-anchor' id='line-604'>pan>
>

char al1,al2 ;n class='line-anchor' id='line-606'>
printf("력: ");ass='line-anchor' id='line-607'>an>
scanf("%c",&al1);<span class='line-anchor' id='line-608'>>

if(al1>='a' &&amp; al1<='z') //문자 경우
al2=al1-32; //아키코에서 32빼서 소문자로 변ass='line-anchor' id='line-611'>an>
else if(al1>'A' &amp;& al1<='Z') //대문자일 class='line-anchor' id='line-612'></span> />
al2=al1+32; //아키코에서 32를 더해서 문자 변환<span class='line-anchor' id='line-613'>>

printf("%c\n",al2);ass='line-anchor' id='line-615'>an>

return 0;
}//인터넷 참했음! 02.c class='line-anchor' id='line-618'></span> />







3. 다음 모양 출력는 프로그램을 작해 주요.an class='line-anchor' id='line-626'><br /> 한자리 숫자다가 2자리 자이서 깨는 것은 예처리주셔 되고 하지 으셔 됩니.class='line-anchor' id='line-627'>span>
/> 방법은 if(10>x) printf(" ");입다.n class='line-anchor' id='line-628'>

1ass='line-anchor' id='line-629'>
an>
2 3 class='line-anchor' id='line-630'></span> /> 4 5 6pan class='line-anchor' id='line-631'>
7 8 9 10ass='line-anchor' id='line-632'>an>
11 12 13 14 15n class='line-anchor' id='line-633'>
16 17 18 19 20 21<span class='line-anchor' id='line-634'>>

#include <stdio.h>class='line-anchor' id='line-636'>span>
/> int main(){lass='line-anchor' id='line-637'>pan>
>

int i, j;
int num=1;ass='line-anchor' id='line-640'>an>

for(i=1 ; i<=6 ; i++){ class='line-anchor' id='line-642'></span> />
for(j=1 ; jj++){n class='line-anchor' id='line-643'>
printf("%3d",num);
num+=1;pan class='line-anchor' id='line-645'>
}ass='line-anchor' id='line-646'>an>
printf("\n"); class='line-anchor' id='line-647'></span> />
}ass='line-anchor' id='line-648'>an>

return 0;
}//03.cpan class='line-anchor' id='line-651'>


4. 다음 모양 출력는 프로그램을 작해 주요.an class='line-anchor' id='line-654'><br /> 1ass='line-anchor' id='line-655'>an>
2 3 class='line-anchor' id='line-656'></span> />
4 5 6pan class='line-anchor' id='line-657'>
7 8 9 10ass='line-anchor' id='line-658'>an>
11 12 13 14 15n class='line-anchor' id='line-659'>
16 17 18 19 20 21<span class='line-anchor' id='line-660'>>

#include <stdio.h>class='line-anchor' id='line-662'>span>
/> int main(){lass='line-anchor' id='line-663'>pan>
>

int i, j, k;class='line-anchor' id='line-665'>span>
/> int num=1;ass='line-anchor' id='line-666'>an>

for(i=1 ; i<=6 ; i++){ class='line-anchor' id='line-668'></span> />
for(j=5 ; j>=i ; j--){ class='line-anchor' id='line-669'></span> />
printf(" ");n class='line-anchor' id='line-670'>
}ass='line-anchor' id='line-671'>an>
for(k=1 ; kk++){n class='line-anchor' id='line-672'>

printf("%3d",num);
num+=1;pan class='line-anchor' id='line-674'>
}ass='line-anchor' id='line-675'>an>
printf("\n"); class='line-anchor' id='line-676'></span> />
}ass='line-anchor' id='line-677'>an>

return 0;
}//04.cpan class='line-anchor' id='line-680'>
5. 위 프로램을 일반화 시켜 력받 숫자만큼 력해는 프그램 작성해주세요.(위 프로그램은 21을 입)lass='line-anchor' id='line-681'>
pan>
> #include <stdio.h>class='line-anchor' id='line-682'>span>
/> int main(){lass='line-anchor' id='line-683'>pan>
>

int i, j, n;class='line-anchor' id='line-685'>span>
/> int num=1;ass='line-anchor' id='line-686'>an>

scanf("%d",&n);an class='line-anchor' id='line-688'>
<br />
for(i=1 ; ; i++){<span class='line-anchor' id='line-690'>>
for(j=1 ; jj++){n class='line-anchor' id='line-691'>
if(n==num){lass='line-anchor' id='line-692'>pan>
>
printf("%3d",num);
printf("\n"); class='line-anchor' id='line-694'></span> /> return 0;
}ass='line-anchor' id='line-696'>an>
printf("%3d",num);
num+=1;pan class='line-anchor' id='line-698'>

}ass='line-anchor' id='line-699'>an>
printf("\n"); class='line-anchor' id='line-700'></span> />
}ass='line-anchor' id='line-701'>an>

return 0;
}//05.c <span class='line-anchor' id='line-704'>>


6. 위 로그처럼 자를 순서대로 출하는 로그을 피라미드 형태 작성 주세요. class='line-anchor' id='line-707'></span> /> #include <stdio.h>class='line-anchor' id='line-708'>span>
/> int main(){lass='line-anchor' id='line-709'>pan>
>

int i, j, k, n;an class='line-anchor' id='line-711'><br /> int num=1;ass='line-anchor' id='line-712'>an>
scanf("%d",&n);an class='line-anchor' id='line-713'><br />
for(i=0;i
for(j=1 ; j++){ class='line-anchor' id='line-716'></span> />
printf(" ");n class='line-anchor' id='line-717'>
}ass='line-anchor' id='line-718'>an>
for(k=0 ; k<2*i+1 ; k++){pan class='line-anchor' id='line-719'>

printf("%3d",num);
num++;an class='line-anchor' id='line-721'><br />
}ass='line-anchor' id='line-722'>an>
printf("\n"); class='line-anchor' id='line-723'></span> />
}ass='line-anchor' id='line-724'>
an>

return 0;
}ass='line-anchor' id='line-727'>an>


7. 위 로그처럼 자를 순서대로 출하는 로그을 다이아몬드 형로 작해 주세요.pan class='line-anchor' id='line-730'>




8.아래 프로그램을 고하 60점 하는 F, 61~70 D, 71~80 C, 81~90 B, 90~ A인 프로그램을 작해주요.n class='line-anchor' id='line-735'>
#include <stdio.h>class='line-anchor' id='line-736'>span>
/> int main(){lass='line-anchor' id='line-737'>pan>
>
int num;<span class='line-anchor' id='line-738'>>
printf("적 입력 : ");
scanf("%d", &num);

switch((num-1)/10){ass='line-anchor' id='line-742'>an>
case 9 :<span class='line-anchor' id='line-743'>>
printf("A\n");n class='line-anchor' id='line-744'>
break;an class='line-anchor' id='line-745'><br />
case 8 :<span class='line-anchor' id='line-746'>>
printf("B\n");n class='line-anchor' id='line-747'>
break;an class='line-anchor' id='line-748'><br />
case 7 :<span class='line-anchor' id='line-749'>>
printf("C\n");n class='line-anchor' id='line-750'>
break;an class='line-anchor' id='line-751'><br />
case 6 :<span class='line-anchor' id='line-752'>>
printf("D\n");n class='line-anchor' id='line-753'>
break;an class='line-anchor' id='line-754'><br />
default :
printf("F\n");n class='line-anchor' id='line-756'>
break;an class='line-anchor' id='line-757'><br />
} class='line-anchor' id='line-758'>span>
/>
}//08.c 터넷조!an class='line-anchor' id='line-759'>
<br />



9. 101부터 200지의 든 정수를 해서 환하 '함'를 작성해주세요.pan class='line-anchor' id='line-763'>
(main문는 sum=Sum(); printf("%d",sum); 있도해주요)an class='line-anchor' id='line-764'><br /> #include <stdio.h>class='line-anchor' id='line-765'>span>
/> int Sum(void);n class='line-anchor' id='line-766'>

int main(){lass='line-anchor' id='line-767'>
pan>
>
int sum;<span class='line-anchor' id='line-768'>>
sum = Sum();class='line-anchor' id='line-769'>span>
/> printf("%d\n",sum);ass='line-anchor' id='line-770'>an>
return 0;
}ass='line-anchor' id='line-772'>an>
int Sum(void){n class='line-anchor' id='line-773'>

int x=101;ass='line-anchor' id='line-774'>an>
int sum=0;ass='line-anchor' id='line-775'>an>
for(x=101 ; x<=200 ; x++)pan class='line-anchor' id='line-776'>

sum+=x;pan class='line-anchor' id='line-777'>

return sum;lass='line-anchor' id='line-779'>pan>
>
}//09.cpan class='line-anchor' id='line-780'>









10. 재함수 이용 n!을 출력하는 프그램 작성 주세요. class='line-anchor' id='line-790'></span> /> #include <stdio.h>class='line-anchor' id='line-791'>span>
/>

int fac(int); class='line-anchor' id='line-793'></span> /> int main(){lass='line-anchor' id='line-794'>pan>
>
int num;<span class='line-anchor' id='line-795'>>
printf("자 입력 : ");
scanf("%d", &num);

printf("%d! = %d\n",num, fac(num));<span class='line-anchor' id='line-799'>>
return 0;
}ass='line-anchor' id='line-801'>an>

int fac(int x){an class='line-anchor' id='line-803'><br />
if(x==1)<span class='line-anchor' id='line-804'>>
return 1;
else class='line-anchor' id='line-806'></span> />
return x*fac(x-1);
}//10.cpan class='line-anchor' id='line-808'>



11. n!을 출력는 프그램 for문으로 성해세요.<span class='line-anchor' id='line-812'>>
#include <stdio.h>class='line-anchor' id='line-813'>span>
/> int main(){lass='line-anchor' id='line-814'>pan>
>

int i, num;lass='line-anchor' id='line-816'>pan>
> int fac=1;ass='line-anchor' id='line-817'>an>
printf("자 입력 : ");
scanf("%d", &num);

for(i=1 ; i<=num ; i++){an class='line-anchor' id='line-821'>
<br />
fac *= i;
}ass='line-anchor' id='line-823'>an>
printf("%d! = %d\n",num, fac);class='line-anchor' id='line-824'>span>
/>
return 0;
}//11.cpan class='line-anchor' id='line-827'>



12. 재함수 이용 1부10까지를 더는 프그램 작성해 주요.n class='line-anchor' id='line-831'>
#include <stdio.h>class='line-anchor' id='line-832'>span>
/> int sum(int); class='line-anchor' id='line-833'></span> /> int main(){lass='line-anchor' id='line-834'>pan>
>

printf("1부터 10까지 : %d\n", sum(10));lass='line-anchor' id='line-836'>pan>
> return 0;
}ass='line-anchor' id='line-838'>an>

int sum(int x){an class='line-anchor' id='line-840'><br />

if(x>0) return (x+sum(x-1));ass='line-anchor' id='line-842'>an>
else return 0;n class='line-anchor' id='line-843'>


}ass='line-anchor' id='line-845'>
an>
13. 배에 {7,4,2,9,3,1,2}가 들어있습니다. 배열에서 3 있는지 없지를 아서 출력해주는 로그을 작해주요.an class='line-anchor' id='line-846'><br /> #include <stdio.h>class='line-anchor' id='line-847'>span>
/> int main(){lass='line-anchor' id='line-848'>pan>
>







16. 배에 {7,4,2,9,3,1,2}가 들어있습니다. 배열을 정(오름순으)하고, 출력는 프로그램을 작해주요.n class='line-anchor' id='line-898'>
#include <stdio.h>class='line-anchor' id='line-899'>span>
/> int main(){lass='line-anchor' id='line-900'>pan>
>




예습과class='line-anchor' id='line-927'>span>
/> 1. 2차 배열 무엇인지 고, 어떻게 언하지도 성한 뒤, 이 이용한 간한 프그램 작성해주세요. class='line-anchor' id='line-928'></span> /> int arrpan>ass='nonexistent' rel='nofollow' href='/wiki.php/i'>i</a>> class='nonexistent' rel='nofollow' href='/wiki.php/j'>jpan>;n class='line-anchor' id='line-929'>

길이가 i인 int형 배을 j개 모아 은 배열. class='line-anchor' id='line-930'></span> /> 첫번째 인덱 값(i) 의미하는 는 세줄(열)의 길이고, 두번 인덱 값(j)이 의하는 는 가로줄()의 길이. class='line-anchor' id='line-931'></span> />

#include <stdio.h>class='line-anchor' id='line-933'>span>
/> int main(){lass='line-anchor' id='line-934'>pan>
>
int arrpan>ass='nonexistent' rel='nofollow' href='/wiki.php/3'>3</a>> class='nonexistent' rel='nofollow' href='/wiki.php/3'>3pan> = {<span class='line-anchor' id='line-935'>>
{1,2,3},<span class='line-anchor' id='line-936'>>
{4,5,6},<span class='line-anchor' id='line-937'>>
{7,8,9},<span class='line-anchor' id='line-938'>>
};lass='line-anchor' id='line-939'>pan>
> int i,j;<span class='line-anchor' id='line-940'>>
for(i=0 ; i<3 ; i++){class='line-anchor' id='line-941'>span>
/>
for(j=0 ; j<3 ; j++){class='line-anchor' id='line-942'>span>
/>
printf("%d ",arr<span>lass='nonexistent' rel='nofollow' href='/wiki.php/i'>ijan>);n class='line-anchor' id='line-943'>
}ass='line-anchor' id='line-944'>an>
printf("\n"); class='line-anchor' id='line-945'></span> />
}ass='line-anchor' id='line-946'>an>
return 0;
}ass='line-anchor' id='line-948'>an>
2. srand()함수 무엇지 찾아쓰고, time() 이용해 랜으로 자를 하나 력하 프로램을 작성해주세요.ass='line-anchor' id='line-949'>an>
seed값 입력아 난수를 성하 함수.
rand()%a+b : a부 b까 수 랜덤 출ass='line-anchor' id='line-951'>an>
#include <stdio.h>class='line-anchor' id='line-952'>span>
/> #include <stdlib.h> //rand함수 사용 pan class='line-anchor' id='line-953'>

#include <time.h> //time함수 class='line-anchor' id='line-954'></span> />

int main(){lass='line-anchor' id='line-956'>pan>
>

srand(time(NULL));
printf("%d\n",rand()%100+1); //1-100중 하 출력<span class='line-anchor' id='line-959'>>

return 0;
}//1_02.c


3. 포인터가 엇인 쓰고, 포인를 선하는 방법을 쓰세.lass='line-anchor' id='line-965'>pan>
> 포인터란 메리의 소 값을 저하기 한 변수. 타에 상관없이 크기 4바이트(컴터 주 체계가 4바트로 표현된다는 을 의)class='line-anchor' id='line-966'>span>
/>

int *a; //int형 수의 주소 을 지는 int 포인터. class='line-anchor' id='line-968'></span> /> char *b; // char 변수 주소 값을 닐 수 있는 char형 인터.<span class='line-anchor' id='line-969'>>
double *c; // double형 변수의 소 값 지닐 수 있 double형 포터.n class='line-anchor' id='line-970'>


4. 배열과 포터의 통점 차이점을 아보, 써보도록 세요.<span class='line-anchor' id='line-973'>>
배열 arr가 선되어 있고, 인터 p이 배의 시작주소를 가키고 다면!

<배과 포터의 공통점>ass='line-anchor' id='line-976'>an>
- arr와 p은 주를 나타냄an class='line-anchor' id='line-977'><br /> - arrn>s='nonexistent' rel='nofollow' href='/wiki.php/i'>i> *(p+i)는 같ass='line-anchor' id='line-978'>an>
- arrn>
s='nonexistent' rel='nofollow' href='/wiki.php/i'>i> p>='nonexistent' rel='nofollow' href='/wiki.php/i'>i는 같ass='line-anchor' id='line-979'>an>
- *arr 은 *p 가능lass='line-anchor' id='line-980'>pan>
> - *(arr+i) 혹은 *(p+i)가 가능pan class='line-anchor' id='line-981'>

<배과 포터의 차이점>ass='line-anchor' id='line-983'>an>
- 배열은 상수이고 포인는 변lass='line-anchor' id='line-984'>pan>
> - 배열에 주소를 입할 없다.ass='line-anchor' id='line-985'>an>
- 배열에 증감연산자(array++, array--)를 수 없class='line-anchor' id='line-986'>span>
/>

한송이 ='perma' href='#s-3'>¶

복습과class='line-anchor' id='line-989'>span>
/> 1. 0과 1000 사의 정를 입력받아 모든 릿수 더하여 출하는 로그을 짜 주세.(/10, %10 등을 이용서 해 보세요.)lass='line-anchor' id='line-990'>pan>
> #include <stdio.h>class='line-anchor' id='line-991'>span>
/>

int main()ass='line-anchor' id='line-993'>an>
{ass='line-anchor' id='line-994'>an>
int num,a,b,c,d;pan class='line-anchor' id='line-995'>

printf("자를 입력하세요 : ”);an class='line-anchor' id='line-997'><br /> scanf("%d",&num);<span class='line-anchor' id='line-998'>>

if(99 &&amp; num<1000)class='line-anchor' id='line-1000'></span> /> {ass='line-anchor' id='line-1001'>
pan>
>
a=num/100;ass='line-anchor' id='line-1002'>pan>
> b=num%100;ass='line-anchor' id='line-1003'>pan>
> c=b/10;pan class='line-anchor' id='line-1004'>>
d=b%10;pan class='line-anchor' id='line-1005'>>
printf("%d의 자수의 합은 %d입니다.\n",num,a+c+d);pan class='line-anchor' id='line-1006'>>
}ass='line-anchor' id='line-1007'>pan>
>
else if(num<100)pan class='line-anchor' id='line-1009'>>
{ass='line-anchor' id='line-1010'>
pan>
>
a=num/10;
b=num%10;
printf("%d의 자수의 합은 %d입니다.\n",num,a+b);n class='line-anchor' id='line-1013'><br />
}ass='line-anchor' id='line-1014'>pan>
>
}ass='line-anchor' id='line-1016'>pan>
>

2. 소문자를 문자 바꾸 프로그램을 작성 주세.class='line-anchor' id='line-1018'></span> /> #include&lt;stdio.h>lass='line-anchor' id='line-1019'>span>
/> #include&lt;string.h>class='line-anchor' id='line-1020'></span> />


int main()ass='line-anchor' id='line-1023'>pan>
> {ass='line-anchor' id='line-1024'>pan>
>
char inpan>ass='nonexistent' rel='nofollow' href='/wiki.php/50'>50,out50pan>;n class='line-anchor' id='line-1025'><br /> int i,len;ass='line-anchor' id='line-1026'>pan>
> int diff='a'-'A';<span class='line-anchor' id='line-1027'>
n>

printf("자 입력 : ");
gets(in);

len = strlen(in);<span class='line-anchor' id='line-1032'>n>
for(i=0;i
{ass='line-anchor' id='line-1035'>pan>
>
if(('A'<=in<a class='nonexistent' rel='nofollow' href='/wiki.php/i'>ispan>) &amp;& (inian><='Z'))ass='line-anchor' id='line-1036'>pan>
>
outian> = in ian> + diff;lass='line-anchor' id='line-1037'>span>
/>
else if (('a'<=in<span>lass='nonexistent' rel='nofollow' href='/wiki.php/i'>i
) &&amp; (inpan>ass='nonexistent' rel='nofollow' href='/wiki.php/i'>i</a>><='z'))<span class='line-anchor' id='line-1038'>n>
outian> = in<span>lass='nonexistent' rel='nofollow' href='/wiki.php/i'>i-diff;an class='line-anchor' id='line-1039'>
else class='line-anchor' id='line-1040'>
outian> = in<span>lass='nonexistent' rel='nofollow' href='/wiki.php/i'>i;ass='line-anchor' id='line-1041'>pan>
>
}ass='line-anchor' id='line-1042'>pan>
> outian> = '\0';lass='line-anchor' id='line-1043'>span>
/>
printf("환된 문자 : %s \n", out); class='line-anchor' id='line-1045'>

}ass='line-anchor' id='line-1046'>pan>
> ////책서 참lass='line-anchor' id='line-1047'>span>
/> 3. 다음 모양 출력는 프로그램을 작해 주요.an class='line-anchor' id='line-1048'>

o 한자 숫자이다가 2자리 숫자이면서 지는 은 예외처리해주셔도 되 하지 않으셔도 됩다.n class='line-anchor' id='line-1049'>
<br /> o 방법 if(10>x) printf(" ");입니다.pan class='line-anchor' id='line-1050'>>
1ass='line-anchor' id='line-1051'>pan>
> 2 3 class='line-anchor' id='line-1052'>

4 5 6pan class='line-anchor' id='line-1053'>>
7 8 9 10ass='line-anchor' id='line-1054'>
pan>
>
11 12 13 14 15n class='line-anchor' id='line-1055'>
<br /> 16 17 18 19 20 21<span class='line-anchor' id='line-1056'>n>

4. 다음 모양 출력는 프로그램을 작해 주요.an class='line-anchor' id='line-1058'>
1ass='line-anchor' id='line-1059'>pan>
>
2 3 class='line-anchor' id='line-1060'>
4 5 6pan class='line-anchor' id='line-1061'>>
7 8 9 10ass='line-anchor' id='line-1062'>pan>
>
11 12 13 14 15n class='line-anchor' id='line-1063'><br />
16 17 18 19 20 21<span class='line-anchor' id='line-1064'>n>

5. 위 프로램을 일반화 시켜 력받 숫자만큼 력해는 프그램 작성해주세요.(위 프로그램은 21을 입)lass='line-anchor' id='line-1066'>span>
/>

6. 위 로그처럼 자를 순서대로 출하는 로그을 피라미드 형태 작성 주세요. class='line-anchor' id='line-1068'>

7. 위 로그처럼 자를 순서대로 출하는 로그을 다이아몬드 형로 작해 주세요.pan class='line-anchor' id='line-1070'>>

8. 아래 프로램을 고하 60점 이하는 F, 61~70점 D, 71~80 C, 81~90 B, 90~ A인 로그을 작해주요.an class='line-anchor' id='line-1072'>
#include <stdio.h>class='line-anchor' id='line-1073'></span> /> int main()ass='line-anchor' id='line-1074'>pan>
> {ass='line-anchor' id='line-1075'>pan>
>
int num;<span class='line-anchor' id='line-1076'>n>
char grade;lass='line-anchor' id='line-1077'>span>
/>
printf("ù¨¬u 입O¤A : ");lass='line-anchor' id='line-1079'>span>
/> scanf("%d", &num);

switch(num/10){an class='line-anchor' id='line-1082'>

case 10 :
printf("A\n");n class='line-anchor' id='line-1084'><br />
break;an class='line-anchor' id='line-1085'>
case 9 :<span class='line-anchor' id='line-1086'>
n>
printf("A\n");n class='line-anchor' id='line-1087'><br /> break;an class='line-anchor' id='line-1088'>
case 8 :<span class='line-anchor' id='line-1089'>n>
printf("B\n");n class='line-anchor' id='line-1090'><br /> break; pan class='line-anchor' id='line-1091'>>
case 7 :<span class='line-anchor' id='line-1092'>n>
printf("C\n");n class='line-anchor' id='line-1093'><br /> break; pan class='line-anchor' id='line-1094'>>
case 6 :<span class='line-anchor' id='line-1095'>n>
printf("D\n");n class='line-anchor' id='line-1096'><br /> break; pan class='line-anchor' id='line-1097'>>
default :
printf("F\n");n class='line-anchor' id='line-1099'><br /> break;an class='line-anchor' id='line-1100'>
}ass='line-anchor' id='line-1101'>pan>
>

}ass='line-anchor' id='line-1103'>pan>
>

9. 101부터200까지의 든 정를 더해서 환하 '함수'를 작해주요.(main문에 sum=Sum(); printf("%d",sum);이 도록주세)class='line-anchor' id='line-1105'></span> />

#include <stdio.h>class='line-anchor' id='line-1107'></span> />

int Sum(int n);an class='line-anchor' id='line-1109'>

int main()ass='line-anchor' id='line-1111'>pan>
> {ass='line-anchor' id='line-1112'>pan>
>
int sum;<span class='line-anchor' id='line-1113'>n>
sum=Sum(200); class='line-anchor' id='line-1114'>
printf("101~200까¾i지oC 합O¨¬ %d\n",Sum);<span class='line-anchor' id='line-1115'>n>
return 0;
}ass='line-anchor' id='line-1117'>pan>
> int Sum(int n)n class='line-anchor' id='line-1118'>
<br /> {ass='line-anchor' id='line-1119'>pan>
>
if(n==101)ass='line-anchor' id='line-1120'>pan>
>
return 0;
else n class='line-anchor' id='line-1122'>
<br /> return n+Sum(n-1);
}ass='line-anchor' id='line-1124'>pan>
>


10. 재함수 이용 n!을 출력하는 프그램 작성 주세요. class='line-anchor' id='line-1127'>
#include <stdio.h>class='line-anchor' id='line-1128'></span> />

int fact(int n);pan class='line-anchor' id='line-1130'>>

int main()ass='line-anchor' id='line-1132'>pan>
> {ass='line-anchor' id='line-1133'>pan>
>
int n;an class='line-anchor' id='line-1134'>

printf("자를 입력하세요 : ");class='line-anchor' id='line-1136'></span> /> scanf("%d",&n);an class='line-anchor' id='line-1137'>
printf("fact(%d) = %1d입다. \n",n,fact(n));class='line-anchor' id='line-1138'></span> />
}ass='line-anchor' id='line-1140'>pan>
>

int fact(int n)an class='line-anchor' id='line-1142'>
{ass='line-anchor' id='line-1143'>pan>
>
if(n==0)<span class='line-anchor' id='line-1144'>n>
return 1;
else n class='line-anchor' id='line-1146'><br />
return n*fact(n-1);ass='line-anchor' id='line-1147'>pan>
>
}ass='line-anchor' id='line-1148'>pan>
>

11. n!을 출력는 프그램 for문으로 성해세요.<span class='line-anchor' id='line-1150'>n>
#include <stdio.h>class='line-anchor' id='line-1151'></span> />


int main()ass='line-anchor' id='line-1154'>pan>
> {ass='line-anchor' id='line-1155'>pan>
>
int n,i;<span class='line-anchor' id='line-1156'>n>
int fact=1;lass='line-anchor' id='line-1157'>span>
/>
printf("자를 입력하세요 : ");class='line-anchor' id='line-1159'></span> /> scanf("%d",&n);an class='line-anchor' id='line-1160'>

for(i=1;i<=n;i++)
{ass='line-anchor' id='line-1163'>pan>
>
fact =i*fact; class='line-anchor' id='line-1164'>

}ass='line-anchor' id='line-1167'>pan>
>
printf("%d! = %d\n",n,fact);ass='line-anchor' id='line-1168'>pan>
>


return 0;
}ass='line-anchor' id='line-1172'>pan>
>



12. 재함수 이용 1부10까지를 더는 프그램 작성해 주요.n class='line-anchor' id='line-1176'><br /> .#include <stdio.h> class='line-anchor' id='line-1177'>

int hap(int n);an class='line-anchor' id='line-1179'>

int main()ass='line-anchor' id='line-1181'>pan>
> {ass='line-anchor' id='line-1182'>pan>
>
printf("1~10까지의 합 %d\n",hap(10));<span class='line-anchor' id='line-1183'>n>
return 0;
}ass='line-anchor' id='line-1185'>pan>
> int hap(int n)n class='line-anchor' id='line-1186'>
<br /> {ass='line-anchor' id='line-1187'>pan>
>
if(n==0)<span class='line-anchor' id='line-1188'>n>
return 0;
else n class='line-anchor' id='line-1190'><br /> return n+hap(n-1);
}ass='line-anchor' id='line-1192'>pan>
>

13. 배에 {7,4,2,9,3,1,2}가 들어있습니다. 배열에서 3 있는지 없지를 아서 출력해주는 로그을 작해주요.an class='line-anchor' id='line-1194'>

#include&lt;stdio.h>lass='line-anchor' id='line-1196'>span>
/>


int main()ass='line-anchor' id='line-1199'>pan>
> {ass='line-anchor' id='line-1200'>pan>
>
int arr[] = {7,4,2,9,3,1,2};ass='line-anchor' id='line-1201'>pan>
> int i;an class='line-anchor' id='line-1202'>


for(i=0;i<=7;i++ )
{ass='line-anchor' id='line-1205'>pan>
>

}ass='line-anchor' id='line-1209'>pan>
> printf("3이 있니다.");lass='line-anchor' id='line-1210'>span>
/>
}ass='line-anchor' id='line-1211'>pan>
>

//////For문 안 어떻 해야할지 모르어요


14. 배에 {7,4,2,9,3,1,2}가 들어있습니다. 배열에서 1 몇번째에 는지 찾아 출력해주는 프로램을 성해세요. (단, 7 첫번째입니다) class='line-anchor' id='line-1216'>



15. 배에 {7,4,2,9,3,1,2}가 들어있습니다. 배열에서 2 있는지 없지를 사하, 있면 어에 있는지 부 출해주 프로그램을 작성주세.lass='line-anchor' id='line-1220'>span>
/>


16. 배에 {7,4,2,9,3,1,2}가 들어있습니다. 배열을 정(오름순으)하고, 출력는 프로그램을 작해주요.n class='line-anchor' id='line-1223'><br />


• 예과제<span class='line-anchor' id='line-1226'>n>
1. 2차 배열 무엇인지 고, 어떻게 언하지도 성한 뒤, 이 이용한 간한 프그램 작성해주세요. class='line-anchor' id='line-1227'>
배열의 첨자 두 개인 배ass='line-anchor' id='line-1228'>pan>
> 원소 료형 열이<a class='nonexistent' rel='nofollow' href='/wiki.php/%EB%B0%B0%EC%97%B4%ED%81%AC%EA%B8%B01'>배열크기1
<span>lass='nonexistent' rel='nofollow' href='/wiki.php/%EB%B0%B0%EC%97%B4%ED%81%AC%EA%B8%B02'>크기2span>;an class='line-anchor' id='line-1229'>
#include&lt;stdio.h>lass='line-anchor' id='line-1230'>span>
/>

int main()ass='line-anchor' id='line-1232'>pan>
> {ass='line-anchor' id='line-1233'>pan>
>
int arrpan>ass='nonexistent' rel='nofollow' href='/wiki.php/3'>3</a>> class='nonexistent' rel='nofollow' href='/wiki.php/3'>3pan>;n class='line-anchor' id='line-1234'><br /> int i,j;<span class='line-anchor' id='line-1235'>n>
int k=1;<span class='line-anchor' id='line-1236'>n>

for(i=0;i<3;i++)
{ass='line-anchor' id='line-1239'>pan>
>
for(j=0;j<3;j++)
{ass='line-anchor' id='line-1241'>pan>
>
arrian>jan>=k;an class='line-anchor' id='line-1242'>
k++; class='line-anchor' id='line-1243'>
}ass='line-anchor' id='line-1244'>pan>
>
}ass='line-anchor' id='line-1245'>pan>
>
printf("arr='/wiki.php/0' >0</a>f='/wiki.php/0' >0부¬I터I arrn>s='nonexistent' rel='nofollow' href='/wiki.php/3'>3>
<span>lass='nonexistent' rel='nofollow' href='/wiki.php/3'>3
까지 력\n");

for(i=0;i<3;i++)
{ass='line-anchor' id='line-1250'>pan>
>
for(j=0;j<3;j++)
{ass='line-anchor' id='line-1252'>pan>
> }ass='line-anchor' id='line-1255'>pan>
> printf("\n"); class='line-anchor' id='line-1256'>

}ass='line-anchor' id='line-1257'>pan>
>
}ass='line-anchor' id='line-1259'>pan>
>


2. srand()함수 무엇지 찾아쓰고, time() 이용해 랜으로 자를 하나 력하 프로램을 작성해주세요.ass='line-anchor' id='line-1262'>pan>
> Void srand(unsigned int SEED);class='line-anchor' id='line-1263'></span> /> Rand가 성하 초기 난수 변경. SEED 초기 난수 변경는데 사용되지만 SEED자체 초기난수가 되는 은 아class='line-anchor' id='line-1264'></span> /> 헤더파일 : <;stdlib.h>ass='line-anchor' id='line-1265'>pan>
>

3. 포인터가 엇인 쓰고, 포인를 선하는 방법을 쓰세.lass='line-anchor' id='line-1267'>span>
/> 포인터 – 메리에 부여된 주소 소‘’을 나타낼 때는 인터 상수라 하고, 주소를 저장 수 있는 ‘수’ 나타는 포인터 수라 다.an class='line-anchor' id='line-1268'>

자료형*포인 변수; ass='line-anchor' id='line-1269'>pan>
> 4. 배열과 포터의 통점 차이점을 아보, 써보도록 세요.<span class='line-anchor' id='line-1270'>n>
***공통class='line-anchor' id='line-1271'></span> /> 배열과 포인 둘다 메모리 주소을 나낸다.
*** 차 class='line-anchor' id='line-1273'>

1)포인는 변수인데 비해 열은 상수이다. class='line-anchor' id='line-1274'>

2)포인가 가르키는 배열 크키 동적으로 정할 있지만 배의 크는 선언할 정적로 결정된다.ass='line-anchor' id='line-1275'>pan>
> 3)배열체가 기 때문에 수의 수로 전달할 수 없만 포인터는 대상가 무이든에 4이트 크기에 차지하지 않으로 함로 전달할 있다.
4)배열 요소를 읽 것과 포인터로 대체를 는 동작의 도 차가 있다. class='line-anchor' id='line-1277'>


완전히 못푼 class='line-anchor' id='line-1279'>
:3,4,5,6,7,14,15,16ass='line-anchor' id='line-1280'>pan>
>

황혜림 ='perma' href='#s-4'>¶

예습과class='line-anchor' id='line-1283'></span> /> 1. 2차 배열 무엇인지 고, 어떻게 언하지도 성한 뒤, 이 이용한 간한 프그램 작성해주세요. class='line-anchor' id='line-1284'>
- 배열 첨자가 두 인 배열이다. lass='line-anchor' id='line-1285'>span>
/> int an>s='nonexistent' rel='nofollow' href='/wiki.php/2'>2>
<span>lass='nonexistent' rel='nofollow' href='/wiki.php/3'>3; // 2행 3열의 2차원 n class='line-anchor' id='line-1286'><br /> 2. srand()함수 무엇지 찾아쓰고, time() 이용해 랜으로 자를 하나 력하 프로램을 작성해주세요.ass='line-anchor' id='line-1287'>pan>
> -srand함수는 러 개 난수표 중 나를 선택하는 것고, rand 함수 선택된 난표로터 값 꺼내오는 이다. srand함에는 인자가 하나 어가데, 것을 seed값이라고 다.n class='line-anchor' id='line-1288'>
<br /> 3. 포인터가 엇인 쓰고, 포인를 선하는 방법을 쓰세.lass='line-anchor' id='line-1289'>span>
/> - 포인는 가리키는 변수 시작소(메모리의 위치) 기호화 한 lass='line-anchor' id='line-1290'>span>
/> int a;an class='line-anchor' id='line-1291'>

int *pa; // a의 인터an class='line-anchor' id='line-1292'>

pa=&a; // 포인 변수 초기class='line-anchor' id='line-1293'></span> /> 4. 배열과 포터의 통점 차이점을 아보, 써보도록 세요.<span class='line-anchor' id='line-1294'>
n>
공통점 : 배열이름만 쓰면 소를 가리킨다. class='line-anchor' id='line-1295'>
차이점 : 포인터는 제든 다른 대상을 가리 수 있지만 열은 이 고정되어 있다.<span class='line-anchor' id='line-1296'>n>


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:45
Processing time 0.2071 sec