연재 완료/C Lang 예제코드 모음

C언어 제어문 주요예제 3

라이피 (Lypi) 2018. 5. 6. 20:22
반응형

두 수를 입력받아서 두 사이의 합을 구하는 프로그램을 작성하라.

#include <stdio.h>

int main()
{
	//※ 변수 선언 및 초기화
	int a, b, temp, sum = 0, line = 0;
	
	// ※ 범위 입력받기
	printf("입력하신 두 수 사이의 합을 계산합니다. \n");
	printf("첫번째 정수를 입력하세요: "); scanf_s("%d", &a);
	printf("두번째 정수를 입력하세요: "); scanf_s("%d", &b);

	// ※ 작은 수를 a로 큰 수를 b로 정렬
	if (a > b) { temp = a; a = b; b = temp; }
	
	// ※ a부터 b까지 합산 및 계산 과정 출력
	for (int i = a; i <= b; i++) {
		
		sum += i;

		printf("%d", i);
		if (i != b) { printf(" + "); }

		line++;

		// ※ 한줄에 10개씩 출력
		if (i != b && line == 10) { line = 0; printf("\n"); }
	
	}

	printf(" = %d \n", sum);

	//※ 프로그램 끝
	return 0;
}


단 이름과 함께 구구단을 3줄로 출력하는 프로그램.

1중 while문 버전

#include <stdio.h> int main() {//※ 프로그램 시작 //※ 변수 선언 및 초기화 int line = 0, dan = 1; //※ 루프 시작 while (1) { //※ line == 0 이면 단 이름을 표기 if (line == 0) { printf("\n\t %4dDAN \t %4dDAN \t %4dDAN \n", dan, dan + 1, dan + 2); line++; //※ line != 이면 구구단을 한줄씩 표시 } else if (line != 0) { printf("\t %d * %d = %d", dan, line, dan * line); printf("\t %d * %d = %d", dan+1, line, (dan+1) * line); printf("\t %d * %d = %d", dan+2, line, (dan+2) * line); printf("\n"); line++; //※ dan != 10이고 line == 10이면 line = 0 , dan += 3으로 갱신 if (dan != 10 && line == 10) { line = 0; dan += 3; } } //※ dan == 10 일때 line == 0 이면 루프 탈출 if (dan == 10 && line == 0) { break; } } //※ 루프 끝 }//※ 프로그램 끝


2중 for문 구조

#include <stdio.h>

int main()
{ //※ 프로그램 시작

	//※ 변수 선언 (for문 내에서만 쓰는 변수이므로 for문 시작할 때 선언 및 초기화 할 수도 있다.)
	int i, j;

	//※1차 for문 한 줄에 세로로 3줄씩 표시한다.
	for (i = 1; i < 10; i += 3) {
		printf("\t%5dDAN\t\t%5dDAN\t\t%5dDAN \n", i, i + 1, i + 2);

		//※2차 for문 기본적인 구구구단 표시 for문의 형태
		for (j = 1; j < 10; j++)
		{
			printf("\t%2d * %2d = %2d \t", i, j, i*j);
			printf("\t%2d * %2d = %2d\t", i + 1, j, (i + 1) * j);
			printf("\t%2d * %2d = %2d\t", i + 2, j, (i + 2) * j);
			printf("\n");

		}//※ 2차 for문 끝
		printf("\n");
	}//※ 1차 for문 끝

}//※ 프로그램 끝


아스키코드 테이블

#include <stdio.h>

int main()
{
	printf(" 아스키 코드 테이블 \n");

	for (int i = 32; i <= 127; i++)	{
		if (i % 8 == 0) { printf("\n"); }
		printf("%4d %c", i, i);
	}
}


입력받은 문자의 아스키코드 값을 출력하는 프로그램. 

(ctrl+z를 입력하면 프로그램을 종료할 것)

#include <stdio.h>

int main()
{
	char ch = 0; 
	//초기화하지 않고 사용하면 에러가 난다.

	while (ch != EOF) {

		printf("입력된 문자의 아스키 코드를 표시합니다. \n");
		printf("(종료를 원하면 ctrl+z를 입력하세요) \n");
		//ctrl+z와 EOF에 대해서 조사해볼 것

		ch = getchar();

		if (ch == EOF) { 
			return 0; 
		} else { 
			while (getchar() != '\n') {} 
		}
		
		printf("%c = %d \n",ch, ch);
	}
}
반응형