B2024001225 윤지선

11주차 과제 본문

2024년 1학기/C 프로그래밍

11주차 과제

윤지선 2024. 5. 14. 13:48
#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
	int num, sum = 0;
	//누적하는변수 sum은 반드시초기화
	printf("1번째 수를 입력하세요=");
	scanf("%d", &num);
	sum = sum + num;
	printf("2번째 수를 입력하세요=");
	scanf("%d", &num);
	sum = sum + num;
	printf("합:%d,평균:%lf \n", sum, sum / 2.);
	return 0;
}

두 수를 입력받아 합과 평균을 구하는 예제

 

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
	int num, sum = 0;
	//누적하는변수 sum은 반드시초기화
	for (;;) {

		printf("1번째 수를 입력하세요=");
		scanf("%d", &num);
		sum = sum + num;
		printf("2번째 수를 입력하세요=");
		scanf("%d", &num);
		sum = sum + num;
		printf("합:%d,평균:%lf \n", sum, sum / 2.);
	}
	return 0;
}

두 수를 입력받아 합과 평균을 구할 때 for문을 사용하는 단계 1번째

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
	int num, sum = 0;
	//누적하는변수 sum은 반드시초기화
	for (int i=0;i<3;i++) {

		printf("1번째 수를 입력하세요=");
		scanf("%d", &num);
		sum = sum + num;
		printf("2번째 수를 입력하세요=");
		scanf("%d", &num);
		sum = sum + num;
		printf("합:%d,평균:%lf \n", sum, sum / 2.);
	}
	return 0;
}

2번째 단계

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
	int num, sum = 0;
	//누적하는변수 sum은 반드시초기화
	for (int i = 0; i < 3; i++) {
		printf("%d번째 수를 입력하세요=", i + 1);
		scanf("%d", &num);
		sum = sum + num;
	}
	printf("합:%d,평균:%lf \n", sum, sum / 3.0);
	
	return 0;
}

마지막 단계

 

# 평균을 출력할 때 %f, %lf, %g를 써도 됨. (double)sum 에서 (double)은 cast 연산자로 int 형인 sum을 일시적으로 double형으로 바꿈

 

예제 7.24

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h> 
int main(void)
{
	int i, num, sum = 0, total; //누적하는 변수 sum은 반드시 초기화 
	for (;;) {
		sum = 0;
		printf("임의 개수의 수 평균을 구하는 프로그램입니다.\n");
		printf("계산하려는 수는 몇 개입니까==");
		scanf("%d", &total);

		for (i = 1; i <= total; i++) {
			printf("%d번째 수를 입력하세요=", i);
			scanf("%d", &num);
			sum += num;
		}
		printf("합은 %d, 평균은 %lf입니다.\n", sum, (double)sum / total);
	}
	return 0;
}

# 누적하는 변수는 항상 블록을 돌 때마다 0으로 초기화 해야함

 

예제 7.2 도전

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <limits.h> //INT_MIN, INT_MAX가 정의되어 있음
int main(void)
{
	int i, num, sum = 0, total, max = INT_MIN, min = INT_MAX; //누적하는 변수 sum은 반드시 초기화
	// max는 int형으로 표현할 수 있는 가장 작은 값 INT_MIN으로 초기화
	// min은 int형으로 표현할 수 있는 가장 큰 값 INT_MAX로 초기화
	for (;;) {
		sum = 0, max = INT_MIN, min = INT_MAX");;
		printf("\n임의의 수의 평균을 구하는 프로그램입니다.\n
		printf("계산하려는 수는 몇 개입니까(끝내려면 0)==");
		scanf("%d", &total);
		if (total == 0) break;
		for (i = 1; i <= total; i++) {
			printf("%d번째 수를 입력하세요=", i);
			scanf("%d", &num);
			sum += num;
			max = (num > max) ? num : max;
			min = (num < min) ? num : min;
		}
		printf("합=%d,평균=%.2f, 최댓값=%d, 최솟값=%d\n", sum, (double)sum / total, max, min);
	}
	return 0;
}

 

 

예제 7.25 변형

#include <stdio.h>
int main(void)
{
	int n, m;
	puts("작업을 시작합니다.");
	for (n = 1; n <= 100; n++) {
		printf("%d%%\b\b\b\b", n);
		for (m = 1; m <= n * 1000000; m++);
	}
	puts("작업이 완료되었습니다.");
	return 0;
}

1부터 100까지 느리게 출력

 

예제 7.27

#include <stdio.h>
int main(void)
{
	int dan, gop;

	for (dan=2;dan<=9;dan++) {
		for (gop = 1; gop <= 9; gop++) {
			printf("%dx%d=%2d ", dan, gop, dan * gop);
		}
		printf("\n")
	}
	return 0;
}

2중 for문으로 구구단 출력

 

#include <stdio.h>
int main(void)
{
	int dan, gop;
	printf(" ◆ 구구단 표 ◆ \n"); //ㅁ한자키
	for (dan = 2; dan <= 9; dan++) printf(" %d단 │ ", dan);
	printf("\n──────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼\n");//ㅂ한자키
	for (gop = 1; gop <= 9; gop++) {
		for (dan = 2; dan <= 9; dan++) { //곱
			printf("%dx%d=%2d│ ", dan, gop, dan * gop);
		}
		printf("\n");
	}
	return 0;
}

좀 더 보기 쉽게 구구단표 만들기

 

1부터 1000까지 출력하는 코드 (for문 VS while문)

 

1부터 100까지 더하는 코드 (while문 VS do-while문)

 

# while문 다음에는 세미콜론을 반드시 써야함!

#include <stdio.h>
#include <conio.h>  //_getche()
int main(void)
{
	char key; 

	printf("키 하나를 누르세요.\nq를 누르면 프로그램을 종료합니다 :\n");
	do{
		key=_getche();
	}while(key !='q');
	printf("\n바이~~\n");
	return 0;
}

예제 7.29

 

#include <stdio.h>
#include <conio.h>  //_getche()
int main(void)
{
	char key;

	printf("키 하나를 누르세요.\nq나 Q를 누르면 프로그램을 종료합니다 :\n");
	do {
		key = _getche();
	} while (!(key == 'q'||key == 'Q'));
	printf("\n바이~~\n");
	return 0;
}

예제 7.29 도전 (q와 Q를 받았을 때 끝나는 코드)

 

 

# goto 문은 쓰지 말기!

'2024년 1학기 > C 프로그래밍' 카테고리의 다른 글

12주차 과제  (0) 2024.05.21
12주차 예습과제  (1) 2024.05.21
11주차 예습과제  (0) 2024.05.14
10주차 과제  (0) 2024.05.07
10주차 예습과제  (0) 2024.05.07