본문으로 바로가기

   

 

for(초기식; 조건식; 증감식;)
{
                   실행문;
}
√  초기식 본격적으로 반복을 시작하기에 앞서 딱 한번 실행된다.
 √ 조건식 매 반복의 시작에 앞서 실행되며, 그 결과를 기반으로 반복 유무를 결정!
 √ 증감식 매 반복실행 후 마지막에 연산이 이뤄진다

문제1)
1이상 100미만의 정수 중에서 7의 배수와 9의 배수를 출력하는 프로그램을 작성해 보자. 단! 7의 배수이면서 동시에 9의 배수인 정수는 한 번만 출력해야 한다.

#include<stdio.h>
void main()
{	
	int num;

	for (num = 1; num < 100; num++) {
		if (num % 7 == 0 || num % 9 == 0) {
			printf("7의 배수이면서 9의 배수 = %d\n", num);
		}
		
	}
}

 

 

문제2)

프로그램 사용자로부터 두 개의 정수를 입력 받아서, 두 정수를 포함하여 그 사이에 존재하는 정수들의 합을 계산해서 출력하는 프로그램을 작성해 보자. 예를 들어서 3과 5가 입력되면, 3+4+5의 결과가 출력되어야 한다. 첫 번째 입력 정수보다 두 번째 입력 정수가 더 커야 한다.

#include <stdio.h>

int main(void)
{
	int num1, num2;
	int result=0;

	printf("두 개의 정수를 입력해주세요 >>> ");
	scanf("%d %d", &num1, &num2); //2개의 정수 입력 단, 두 번째에 오는 정수의 값이 더 커야 한다.

	for(result = 0; num1<=num2; num1++){
		result = result + num1;
	}
	printf("결과 값 = %d\n", result);
}

 

 

문제3)
다음 수식인 factorial을 계산하는 프로그램을 작성해보자.
n! = 1x2x3x'''xn
프로그램 사용자로부터 n에 해당하는 정수를 입력 받는다. 그러면 n의 계승 n!를 계산해서 출력이 이루어져야 한다.

#include <stdio.h>

int main(void)
{
	int i=0;
	int num;
	int total=1;
	printf("정수를 하나 입력하세요 >>> ");
	scanf("%d", &num);//정수 입력
	
	for(i=1; i<=num; i++){
		total = total * i;// total *= i;
	}
	printf("%d! = %d", num, total);
}

 

 

문제4)
구구단을 출력해보자. ( 2단부터 9단까지 )

#include <stdio.h>

int main(void)
{
	int i=0;
	int dan=0;
	for(dan=2; dan<10; dan++){
		printf("%d단\n", dan);
		for(i = 1; i<10; i++){
			printf("%dx%d=%d\n", dan, i, dan*i);
		}
	}
}

 

 

문제5)
0부터 입력 받은 정수 들의 합을 구해보자.

#include <stdio.h>

int main(void)
{
	int i=0;
	int num=0;
	int total=0;

	printf("정수 하나를 입력해주세요 >>> ");
	scanf("%d", &num);
	for(i=0; i<=num; i++){
		total = total + i;
	}
	printf("정수들의 합 = %d\n", total);
}

 

 

문제6)
홍콩반점에 방문한 사람 수 만큼 주문을 받는 프로그램을 만들어보자.
레스토랑의 방문객 수를 받는다.  ㅡ> 메뉴를 주문 받는다. ㅡ> 음식 값을 계산한다.
메뉴 = 1.짜장면 6000원
           2.    짬뽕 8000원
           3.탕수육12000원
           1~3을 제외한 숫자를 입력하면 메뉴 선택 완료.
잔액 = 20000원, 부족하면 부족하다고 말하고 계산이 완료되면 남은 잔액 확인시키기.

#include <stdio.h>
void main()
{
	int customer;//몇 분이신지 ?
	int a, b, c;//
	int d;//메뉴별 가격
	int menu;
	int money = 10000;
	int total = 0;


	printf("홍콩반점에 오신것을 환영합니다.\n몇 분이신가요?\n");
	scanf("%d", &customer);

	printf("그러시군요. 메뉴판 드리겠습니다.\n");
	printf("1번 짜장면 6000원\n");
	printf("2번 짬뽕   8000원\n");
	printf("3번 탕수육12000원\n");


	for(a=1; a<=customer; a++){
		printf("몇개의 메뉴를 주문하시겠습니까?\n");
		scanf("%d", &menu);
		printf("%d번 손님 %d개의 메뉴 주문 받겠습니다.\n", a, menu);
		printf("원하시는 메뉴의 버튼을 눌러주세요.\n");
		printf("메뉴 선택이 끝나셨으면 1~3번을 제외한 다른 번호를 눌러주세요\n");
		scanf("%d", &c);
		for(b=1; b<=menu; b++){
			d = 0;
			if(c == 1){ 
				printf("짜장면\n");
				d = 6000;
			}else if(c == 2){
				printf("짬뽕\n");
				d = 8000;
			}else if(c == 3){
				printf("탕수육\n");
				d = 12000;
			}else{
				printf("주문 취소하셨습니다.\n");
			}
			total += d;
		}
	}
	printf("주문하신 음식의 총 값은 %d원입니다.\n", total);

	if(money < total){
		printf("%d원이 부족합니다.\n", total-money);
	}else{
		printf("감사합니다. 현재 남은 금액은 %d원입니다.\n안녕히가세요.\n", money-total);
	}
}