B2024001225 윤지선
11주차 과제 본문
#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;
}
좀 더 보기 쉽게 구구단표 만들기
# 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 문은 쓰지 말기!