c언어 11주차 수업 내용 및 수업 후 과제

2024. 5. 13. 16:52C프로그래밍/수업 내용 및 수업 후 과제

반응형

//7.12

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

char ch;

printf("키보드로 키 하나를 입력하세요:");

scanf("%c", &ch);

if (ch >='a'&& ch <='z')

printf("영어 소문자입니다.\n");

else if (ch >='A'&& ch <='Z')

printf("영어 대문자입니다.\n");

else if (ch >='0'&& ch <='9')

printf("숫자입니다.\n");

else

printf("숫자나 영문자가 아닙니다.\n");

return 0;

}

7.12 예제에서 숫자까지 입력 받을 수 있게 변경

 

 

//7.13

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

int value;

printf("1~5까지의 수를 입력하세요:");

scanf("%d", &value);

if (value ==1) printf("1을 입력하셨습니다.\n");

else if (value ==2) printf("2를 입력하셨습니다.\n");

else if (value ==3) printf("3을 입력하셨습니다.\n");

else if (value ==4) printf("4을 입력하셨습니다.\n");

else if (value ==5) printf("5을 입력하셨습니다.\n");

else printf("잘못 입력하셨습니다.\n");

return 0;

}

7.13 예제에서 4,5까지 입력 받을 수 있게 변경

 

 

 

 

 

 

 

 

// if else 사용

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

intmain(void)

{

int num1, num2, num3, max;

printf("세 개의 다른 수를 입력하고 Enter를 누르세요:");

scanf("%d %d %d", &num1, &num2, &num3);

if (num1 < num2) max = num1;

else max = num2;

if (num3 < max) max = num3;

//else max = max;

// max=(num1>num2) ? num1 : num2;

// max=(num3>max) ? num3 : max;

printf("입력받은 수는 %d, %d, %d이고,\n", num1, num2, num3);

printf("최소값은 %d입니다.\n", max);

return0;

}

 

---------------

// 삼항 연산자 사용

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

int num1, num2, num3, max;

printf("세 개의 다른 수를 입력하고 Enter를 누르세요:");

scanf("%d %d %d", &num1, &num2, &num3);

max=(num1 <num2) ? num1 : num2;

max=(num3 <max) ? num3 : max;

printf("입력받은 수는 %d, %d, %d이고,\n", num1, num2, num3);

printf("최솟값은 %d입니다.\n", max);

return 0;

}

 

7.14 세 개의 숫자를 받아서 최솟값을 구하는 것으로 변경

(if else와 삼항연산자 두가지 방법)

 

 

 

 

 

 

 

7.15 바꾸는 것 없이 실행

 

//7.16

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

int score;

printf("수를 입력하고 Enter를 누르세요:");

scanf("%d", &score);

if (score >=0 && score <10) printf("한자리 수 입니다\n");

else if (score >=10 && score <100) printf("두자리 수 입니다\n");

else if (score >=100 && score <1000) printf("세자리 수 입니다\n");

else printf("네자리수 이상입니다\n");

return 0;

}

7.16 몇 자리 수인지 변경하기

 

//7.17

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

int value;

printf("1~3까지의 수를 입력하세요:");

scanf("%d",&value);

 

switch(value){

case 1 :

printf("1을 입력하셨습니다.\n");

break;

case 2 :

printf("2를 입력하셨습니다.\n");

break;

case 3 :

printf("3을 입력하셨습니다.\n");

break;

default:

printf("다시 입력하세요.\n");

break;

}

return 0;

}

7.17 결과가 정수형인 경우만 사용가능하고 switch ~ case문을 사용한다.

지금 예제는 break는 안써도 상관없지만 통일감을 위해 모두 다 작성.

대문자 A, B, C를 입력하면 각각 A를 입력하셨습니다..라는 식으로 나오게 하고

그게 아닌 문자를 입력하면 다시 입력하세요가 출력되게 변경

//7.17

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

char value;

printf("A~C까지를 입력하세요:");

scanf("%c", &value);

switch (value) {

case 'A':

printf("A을 입력하셨습니다.\n");

break;

case 'B':

printf("B를 입력하셨습니다.\n");

break;

case 'C':

printf("C을 입력하셨습니다.\n");

break;

default:

printf("다시 입력하세요.\n");

break;

}

return 0;

}

 

 

#include <stdio.h >

int main(void)

{

int i;

for (i =0; i <1000; i ++) {

printf("%04d : 정상연\t", i +1);

}

return 0;

}

1000번 출력되고 0001 : 이름 (탭만큼 띄우게)하는 프로그램

 

#include <stdio.h >

int main(void)

{

int i;

for (i =100; i >0; i -=5) {

printf("%d ", i);

}

return 0;

}

100부터 5씩 빼서 출력되게 하는 프로그램

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//7.19

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

char op; // 연산자 저장 변수

int num1, num2;// 피연산자 저장 변수

printf("사칙연산이 가능합니다\n");

printf("계산하려는 수식(:10+20)을 입력하세요:");

scanf("%d%c%d", &num1, &op, &num2); //10+20

switch (op) {

case '+':

printf("덧셈 결과는 %d입니다.\n", num1 + num2);

break;

case '-':

printf("뺄셈 결과는 %d입니다.\n", num1 - num2);

break;

case '*':

printf("곱셈 결과는 %d입니다.\n", num1 * num2);

break;

case '/':

printf("나눗셈 결과는 %f입니다.\n", (double)num1 /num2);

break;

default:

printf("다시 입력하세요\n");

break;

}

return 0;

}

7.19 시험에 잘 나오는 예제 switch ~ case문 덧셈 뺄셈만 가능했던 것을

곱셈과 나눗셈이 가능하도록 변경 나눗셈은 double형을 캐스트해서 실수로 출력

 

#include <stdio.h >

int main(void) {

int i;

for (i =0; i <1000; i ++) {

printf("정상연\n");

}

return 0;

}

반복문인 for문을 사용해서 이름을 1000번 출력 되게 하는 프로그램

 

7.19 예제를 한번이 아닌 여러번 반복하게 하고 0+0을 적으면 종료하도록

나눗셈을 해서 나머지가 나오도록 하는 프로그램

#include <stdio.h >

int main(void)

{

char op; // 연산자 저장 변수

int num1, num2; // 피연산자 저장 변수

for(;;) {

printf("덧셈과 뺄셈만 가능합니다\n");

printf("계산하려는 수식(:10+20)을 입력하세요(0 0 입력시 종료):");

scanf("%d%c%d",&num1,&op,&num2); //10+20

if(num1 ==0 && num2 ==0) {

break;

}

switch(op){

case '+' :

printf("덧셈 결과는 %d입니다.\n",num1 +num2);

break;

case '-' :

printf("뺄셈 결과는 %d입니다.\n",num1 -num2);

break;

case '/' :

printf("나누기 결과는 %lf입니다.\n",(double)num1 /num2);

break;

case '8' :

printf("곱하기 결과는 %d입니다.\n",num1 *num2);

break;

case '%' :

printf("나머지 결과는 %d입니다.\n",num1%num2);

break;

default :

printf("다시 입력하세요\n");

break;

}

}

return 0;

}

 

 

 

 

 

 

 

 

강의자료 p.44

두 수를 입력 받아 합과 평균

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용

#include <stdio.h >

int main(void)

{

int num, sum =0;

//누적하는변수 sum은 반드시초기화

//1번째 방법

// for (i = 1; i <= 2; i++) {

//printf("%d번째 수를 입력하세요=", i);

//scanf("%d", &num);

//sum += num;

}

//2번째 방법

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;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

예제 7.24 무한 반복할 수 있도록 변경

//7.24

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h >

int main(void)

{

for (;;) {

int i, num, sum =0, total; //누적하는 변수 sum은 반드시 초기화

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;

}