* 제어문 (반복문)
- for문
- while문
- do~while문
* for문
for(초기값; 종료값 또는 조건식; 증감)
{
처리내용;
}
- 초기값은 단 1회 만 실행된다
- 초기값->조건식->처리내용->증감
조건식->처리내용->증감
조건식->처리내용->증감
조건식->처리내용->증감
- 조건식이 거짓이 되면 반복문을 빠져나옴(반복문 종료)
- 무한루프일 경우 강제종료하면 된다
int su;
for(su=1; su<10; su=su+3) //su+=3
{
printf("happy");
}
su=1 1<10 happy
su=1+3 4<10 happy
su=4+3 7<10 happy
su=7+3 10<10
int su;
for(su=10; su>1; su=su-3)
{
printf("hi");
}
su=10 10>1 hi
su=10-3 7>1 hi
su=7-3 4>1 hi
su=4-3 1>1
----------------------
* 구구단
** 4단 **
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
int gugu=4, n;
printf("** %d단 **\n",gugu);
for(n=1; n<=9; n++)
{
printf("%d*%d=%d\n",gugu,n,(gugu*n));
}
-------------------------------
* 알고리즘
- 성적프로그램
. 과목을 합계를 낸다
. 평균 : 합계를 과목수로 나눈다
. 평균을 기준으로 등수를 구한다
- 카운트
- 누적
//문) 1~10까지 3의 배수 갯수 확인
3의 배수 ? 3의 나누어서 나머지가 0
int cnt=0;
int n;
for(n=1; n<=10; n++)
{
if(n%3==0)
{
cnt=cnt+1;
}
}
printf("3의 배수 갯수 : %d\n",cnt);
n=1 1<=10 if(1%3==0)
n=2 2<=10 if(2%3==0)
n=3 3<=10 if(3%3==0) cnt=0+1
n=4 4<=10 if(4%3==0)
n=5 5<=10 if(5%3==0)
n=6 6<=10 if(6%3==0) cnt=1+1
//문) 1~10까지 3의 배수만 누적의 합
int hap=0;
int n;
for(n=1; n<=10; n++)
{
if(n%3==0) hap=hap+n;
}
printf("3의 배수만 누적 합 : %d\n",hap);
//문) 5팩토리얼 구하여라
5에서 부터 1까지 곱하기 5*4*3*2*1
int gop=1;
int n;
for(n=5; n>=1; n--)
{
gop=gop*n;
}
printf("5팩토리얼값:%d",gop);
-------------------------
//문)두 수사이의 누적의 합을 구하시오
int p=2, q=8;
int hap=0;
int n;
for(n=p; n<=q; n++)
{
hap=hap+n;
}
printf("%d~%d 누적의 합 : %d",p,q,hap);
--------------------------------------
#include<stdio.h>
void main()
{
int idx=10;
/*
switch(idx)
{
case 5:
printf("사과");
break;
case 10:
printf("수박");
break;
case 15:
printf("바나나");
break;
default:
printf("과일");
break;
}
*/
/*
switch(idx)
{
case 5:
printf("사과");
break;
case 10:
printf("수박");
case 15:
printf("바나나");
break;
}
*/
/*
int p=5, q=3;
int res;
float res2;
char op='+';
switch(op)
{
case '+' : res=p+q; break;
case '-' : res=p-q; break;
case '*' : res=p*q; break;
case '/' : res2=(float)p/q; break;
case '%' : res=p%q; break;
}
if(op=='/')
printf("%d %c %d = %.2f\n",p,op,q,res2);
else
printf("%d %c %d = %d\n",p,op,q,res);
*/
/*
int su;
for(su=1; su<10; su=su+3) //su+=3
{
printf("happy");
}
*/
/*
int su;
for(su=10; su>1; su=su-3)
{
printf("hi");
}
*/
/*
int gugu=4, n;
printf("** %d단 **\n",gugu);
for(n=1; n<=9; n++)
{
printf("%d*%d=%d\n",gugu,n,(gugu*n));
}
*/
//평균을 기준으로 수,우,미,양,가
/*
char name[10]="홍길동";
int kor=40,eng=30,mat=90;
float aver=(kor+eng+mat)/3.0;
switch((int)(aver/10))
{
case 10:
case 9: printf("수"); break;
case 8: printf("우"); break;
case 7: printf("미"); break;
case 6: printf("양"); break;
default : printf("가"); break;
}
//문) 평균 10점당 ★ 하나씩 출력하기
int n;
for(n=1; n<=(int)(aver/10); n++)
{
printf("★");
}
*/
/*
int cnt=0;
int n;
for(n=1; n<=10; n++)
{
if(n%3==0)
{
cnt=cnt+1;
}
}
printf("3의 배수 갯수 : %d\n",cnt);
*/
/*
int hap=0;
int n;
for(n=1; n<=10; n++)
{
if(n%3==0) hap=hap+n;
}
printf("3의 배수만 누적 합 : %d\n",hap);
*/
/*
int gop=1;
int n;
for(n=5; n>=1; n--)
{
gop=gop*n;
}
printf("5팩토리얼값:%d",gop);
*/
int p=2, q=8;
int hap=0;
int n;
for(n=p; n<=q; n++)
{
hap=hap+n;
}
printf("%d~%d 누적의 합 : %d",p,q,hap);
}
'..열심히 공부하세.. > C 입문' 카테고리의 다른 글
[08] while문, do~while문 (0) | 2012.05.25 |
---|---|
[07] 이중 for문 (0) | 2012.05.24 |
[05] switch~case문 (0) | 2012.05.22 |
[04] 제어문 (if 조건문) (0) | 2012.05.21 |
[03] 자료형 (0) | 2012.05.17 |