#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("3번째 수를 입력하세요=");
scanf("%d", &num);
sum = sum + num;
printf("합:%d,평균:%lf \n", sum, sum / 3.);
return 0;
}
세개의 수를 입력받아 합과 평균을 구하는 식
#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
int num, i, number, sum = 0;
//누적하는변수 sum은 반드시초기화
printf("몇개의 수를 합과 평균을 구하고싶은 수를 입력하세요=", i);
scanf("%d", &number);
for (i = 1; i <= number; i++) {
printf("%d번째 수를 입력하세요=",i);
scanf("%d", &num);
sum = sum + num;
}
printf("합:%d,평균:%lf \n", sum, (double)sum / number);
return 0;
}
사용자가 입력하는 수 만큼 개수를 생성하고 합과 평균을 구하는 식
#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
int num, number, i, sum = 0;
//누적하는변수 sum은 반드시초기화
for (;;) {
sum = 0;
printf("몇개의 수를 합과 평균을 구하고싶은 수를 입력하세요(끝내고 싶다면 0을 입력하세요)=");
scanf("%d", &number);
if (number == 0) break;
for (i = 1; i <= number; i++) {
printf("%d번째 수를 입력하세요=", i);
scanf("%d", &num);
sum = sum + num;
}
printf("합:%d,평균:%lf \n", sum, (double)sum / number);
}
return 0;
}
사용자가 입력하는 수 만큼 개수를 생성하고 합과 평균을 구하고 무한반복하지만 0을 입력하면 중지하는 식
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고를 비활성화
#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;
// i: 반복문 인덱스
// num: 사용자로부터 입력받은 숫자
// sum: 입력받은 숫자의 합을 저장
// total: 입력받을 숫자의 개수
// max: 입력받은 숫자 중 최댓값을 저장
// min: 입력받은 숫자 중 최솟값을 저장
// 무한 루프 시작
for (;;) {
// 초기화: 새로운 숫자 입력을 받을 때마다 sum, max, min을 초기화
sum = 0, max = INT_MIN, min = INT_MAX;
// 사용자에게 프로그램의 목적을 알림
printf("\n임의의 수의 평균을 구하는 프로그램입니다.\n");
printf("계산하려는 수는 몇 개입니까(끝내려면 0)==");
// 입력받은 숫자의 개수를 total에 저장
scanf("%d", &total);
// 만약 total이 0이면 프로그램 종료
if (total == 0) break;
// total 횟수만큼 숫자를 입력받고 처리
for (i = 1; i <= total; i++) {
printf("%d번째 수를 입력하세요=", i);
scanf("%d", &num); // 숫자 입력
sum += num; // 입력받은 숫자를 sum에 누적
max = (num > max) ? num : max; // 최댓값 갱신
min = (num < min) ? num : min; // 최솟값 갱신
}
// 합계, 평균, 최댓값, 최솟값을 출력
printf("합=%d, 평균=%.2f, 최댓값=%d, 최솟값=%d\n", sum, (double)sum / total, max, min);
}
// 프로그램 종료
return 0;
}
임의의 개수의 수를 입력 받아 합, 평균, 최댓값, 최솟값, 무한반복하는 식
#include <stdio.h>
int main(void)
{
int dan, gop;
dan = 2;
for (dan = 2; dan <=19; dan++) {
for (gop = 1; gop <= 9; gop++) {
printf("%dx%d=%3d ", dan, gop, dan * gop);
}
printf("\n");
}
return 0;
}
구구단에 19단표이다.

for문은 한줄에 요약이 가능해서 가독성이 좋으며 반복 횟수가 명확할때 유용하다.
while문은 for문에 비해서 수식이 중구난잡해서 가독성이 떨어질 수 있고 조건이 항상 참일 경우 무한루프에 빠질 수 있는 단점이 있지만 반복횟수가 명확하지 않을 경우 필요하다.

do~while문은 while문과 다르게 while 다음에 ;(세미콜론)을 꼭 써줘야 한다.
#include <stdio.h>
#include <conio.h> //_getche()
int main(void)
{
char key;
printf("키 하나를 누르세요.\nq를 누르면 프로그램을 종료합니다 :\n");
do {
key = _getche();
} while (!(key == 'q' || key == 'Q'));
printf("\n바이~~\n");
return 0;
}
에서 while (!(key == 'q' || key == 'Q'));부분이 while (key ! = 'q' && key ! = 'Q');로 쓸 수 있지만 전자의 식이 더 좋음으로 !=보다는 (!(변수 == '변수' || 변수 == '변수'));가 더 낫다고 볼 수 있다.

for문은 (;;) while문은 (1) (0만 아닌 수면 다 되지만 평균적으로 1을 많이쓴다.)
do~while문은 do 말고 while문 뒤쪽에 (1)을 쓴다.

break문은 블럭에서 벗어날때 문단 맨 뒤쪽에 사용하는 함수다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h >
int main(void)
{
int weight;
double height, bmi;
printf("신체질량지수(Body Mass Index:BMI)에 의한 비만도 \n");
printf("계산법으로 비만도를 측정해주는 프로그램입니다.\n");
printf("이 지수가 30 이상 고도비만, 25~29.9 비만, 23~24.9 과체중,\n");
printf("18.6∼22.9 정상, 18.5 이하 저체중으로 판정됩니다.\n");
printf("체중을 입력하세요(kg단위로) : ");
scanf("%d", &weight);
printf("키를 입력하세요(cm단위로) : ");
scanf("%lf", &height); //주의 %f아님
height /= 100; //cm -> m
bmi = weight / (height * height);
printf("당신의 bmi는 [%.2f]이며, ", bmi);
if (bmi >= 30) {
printf("[고도비만]입니다.");
}
else if (bmi >= 25 && bmi < 30) {
printf("[비만]입니다.");
}
else if (bmi >= 23 && bmi < 25) {
printf("[정상]입니다.");
}
else {
printf("[저체중]입니다.");
}
return 0;
}
bmi를 계산해주는 C언어 프로그램이다.
'C' 카테고리의 다른 글
| 13주차 강의 내용 및 기말 출제 문제 (0) | 2024.05.27 |
|---|---|
| 13주차 예습과제 (0) | 2024.05.25 |
| 12주차 예습과제 (0) | 2024.05.18 |
| 11주차 강의 내용 (0) | 2024.05.13 |
| 11주차 예습과제 (0) | 2024.05.11 |