- C수업내용예제

day2 20170910

달달고냥 2017. 9. 10. 18:22



//문제 1

//사각형의 넓이, 둘레 구하기

//너비와 높이를 scanf로 입력을 받아서 결과를 출력

//width, height, area, perimeter

/*

#include<stdio.h>

int main() {

//선언

int width, height; 

int area = 0, perimeter = 0;

//입력 & 계산

printf("가로와 높이를 입력하세요 : ");

scanf_s("%d %d", &width, &height); 


area = width*height;

perimeter = (width + height) * 2;


//출력

printf("가로 %d, 세로 %d \n", width, height);

printf("넓이 : %d, 둘레 : %d \n", area, perimeter);


return 0;

}



//문제 

//5년간 받은 월급+이자를 계산하는 프로그램 

//salary 월급 => 표준입력stdin으로 처리하세요  

//deposit 5년간 저축액을 구하기

//이자율  2% 

//마지막 수령액 income(저축액+이자율)을 구해서 출력하기 

#include<stdio.h>

int main() {

//선언

int salary, deposit = 0; 

float income = 0.0; 

//계산

printf("한달 급여를 입력하세요~ ");

scanf("%d", &salary);


deposit = salary * 5 * 12;

income = deposit * 1.02;


//출력

printf("%d만원의 5년간 저축액 : %d\n", salary, deposit);

printf("2%%의 이자와 원금을 더한 수령액 : %.1f\n", income);

return 0;

}

*/

//1. 국어, 영어, 수학(kor, eng, math)

//세 과목의 점수를 입력받아

//표준입력 stdin = > scanf

//2. 합계  sum

//3. 평균 avg

#include<stdio.h>

int main() {

//선언

int kor, eng, math;

int sum = 0; 

double avg = 0.0;


//계산

printf("국어,영어,수학 점수 입력 :");

scanf("%d %d %d", &kor, &eng, &math);//88 99 55


sum = kor + eng + math;

avg = sum / 3.0;

//출력

printf("---------------------\n");

printf("국어 : %d, 영어 : %d, 수학 : %d \n", kor, eng, math);

printf("합계 : %d\t평균 : %.2lf\n", sum, avg);

return 0;

}


2---------------------------------------------------------

//연산자

#include<stdio.h>

int main() {

//단항연산자

//증감 연산자 ++ 1씩증가, -- 1씩 감소

//--a 전위연산자 a = a-1 

//a++ 후위연산자 a = a+1

int a = 5, b = 10;

a++; //1증가

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

printf("a++ = %d\n", a++);//a를 먼저 출력하고 1증가

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

printf("++a = %d\n", ++a);//a를 먼저 1증가후 출력

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

// b를 후위연산자로 감소 --, 전위연산자로 감소 -- 

printf("---------------------------\n");

// 축약연산자 +=, -=, *=, /=, %=

a = 10; b = 20;

a += 1;

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

a += b; // a = a+ b

printf("a + b = %d \t", a);

//  -=, *=, /=

a -= b; printf("a-b = %d\t", a);

a *= b; printf("a*b = %d\t", a);

a /= b; printf("a/b = %d\t", a);

printf("\n---------------------------\n");

// % 나머지 연산자

// 10/2 => 몫 5, 나머지 0

// 14/2 => 몫 7, 나머지 0

// 15/5 => 몫 3, 나머지 0

// 13/2 => 몫 6, 나머지 1

//나머지가 0일때 나눈 수의 배수가 된다.

printf("10/2 = %d, 10%%2 = %d\n", 10 / 2, 10 % 2);

printf("---------------------------\n");

//삼항연산자 = 조건연산자 

// 조건 ? 참 : 거짓;

// 조건 >,<,>=,<=,==,!= (! not)

printf("a = %d, b=%d \n", a, b);

a > b ? printf("a가 더 크다\n") : printf("b가 크다\n");

//퀴즈 1 : a와 b의 최댓값을 출력하세요. 

a > b ? printf("a가 최댓값\n") : printf("b가 최댓값\n");

//퀴즈 2 : a와 b의 최솟값을 출력하세요. 

a > b ? printf("b가 최솟값\n") : printf("a가 최솟값\n");

//퀴즈 : a가 짝수이면 짝수, 그렇지 않으면 홀수라고 출력

a % 2 == 0 ? printf("짝수\n") : printf("홀수\n");


printf("\n---------------------------\n");

// 관계연산자 : 두 수의 크기를 비교 

// 크다, 작다, 같다, 다르다  > < == != 

// 결과 : true 1, false 0 

// 8 > 5 => true 1, 4 > 10 => false 0 

printf("8 > 5  => %d\n", 8 > 5);

printf("4 > 10  => %d\n", 4 > 10);

//문자 비교는 아스키코드로 

printf("아스키코드 a값 : %d\n", 'a');

printf("a>b 문자비교 결과 : %d\n", 'a' > 'b');

printf("---------------------------\n");

//논리연산자 !(NOT) &&(AND) ||(OR)

printf("값이 있으면 1, 없으면 0 \n");

// !4 => 0, !100 => 0, !0 => 1

printf(" !4 = %d \n", !4);

printf(" !100 = %d \n", !100);

printf(" !0 = %d \n", !0);

// 산술연산자 > 관계연산자 > 논리연산자 

printf("---------------------------\n");

a = 100; b = 75;

//2과목 모두가 80점이 넘어야 합격, 그렇지않으면 불합격

//모든 항이 만족하는 경우 => and ~ 이고 &&

a >= 80 && b >= 80 ? printf("합격\n") : printf("불합격\n");

//2과목 중 하나라도 80점이 넘어야 합격, 그렇지않으면 불합격

//어느 하나만 만족하는 경우 => or ~이거나 || 

a >= 80 || b >= 80 ? printf("합격\n") : printf("불합격\n");

return 0;

}


3-----------------------------------------------


//국어,영어,수학 점수를 표준입력stdin받아서

//총 합계, 평균 

//세 과목이 모두 80점 이상이면 우수,

//그렇지 않으면 보통 출력(삼항연산자 이용)

/*

#include<stdio.h>

int main() {

int kor, eng, math;

int sum=0;

float avg = 0.0;

int pass; 


printf("국어 영어 수학 점수 입력 : ");

scanf("%d%d%d", &kor, &eng, &math);

sum = kor + eng + math;

avg = sum / 3.0;

pass = kor >= 80 && eng >= 80 && math >= 80 ? 1 : 0;


printf("------------------\n");

printf(" 이름: 홍길동 \n");

printf("------------------\n");

printf("합계 : %d \n", sum);

printf("평균 : %lf \n", avg);

pass == 1 ? printf("우수\n") : printf("보통\n");


return 0;

}

*/


//상수 : 변하지 않는 숫자 

// PI 3.14

//반지름 입력 => 원의 면적을 계산 

#include<stdio.h>

int main() {

const float PI = 3.14;//상수 선언 

float radius;  //반지름

float area;  //면적 


//반지름을 입력

printf("원의 반지름을 입력하세요");

scanf("%f", &radius);

//원의 면적을 계산 & 출력 

area = radius * radius  * PI;

printf("반지름 %.1f 일때 원의 면적 %.1f \n", radius, area);

return 0;

}


4-----------------------

//if() 함수

/*

#include<stdio.h>

int main() {

//1. 숫자를 하나 입력받아서 1이면 "1을 입력하셨어요"

int num; 


//2. 숫자의 범위 1~5 

printf("1~5 숫자를 입력하세요~ ");

scanf("%d", &num);


// 1 <= num <= 5 이내일때 맞다는 메시지출력

if ( num >=1 && num <=5)

printf("그 범위 안이 맞습니다.\n");


//3. 1 <= num <= 5 이외일때 범위가 아니라는 메시지출력

if (num < 1 || num > 5)

printf("그 범위를 벗어났어요.\n");

if (num == 1){

printf("1을 입력하셨어요\n");

printf("if 조건을 만족\n");

}

printf("End\n");

return 0;

}

*/


//성별을 입력받아서 gender 

// 1이면 남자, 2이면 여자 

/*

#include<stdio.h>

int main() {

char gender;

printf("주민번호 뒷자리 첫번째 자리 입력");

//scanf("%c", &gender);

scanf_s("%c", &gender,1);//VS 2017상위버전일때


if (gender == '1' || gender == '3')  //1 혹은 3 이면 남자

printf("남자\n");

else if (gender == '2' || gender == '4') // 2 혹은 4이면 여자 

printf("여자\n");

else

printf("누구냐 넌?");


return 0;

}

*/

//숫자 num 를 입력을 받아서 scanf

//원하는 배수 times 를 입력을 받아서, 그 수의 배수인지 아닌지를 

//출력해보세요

#include<stdio.h>

int main() {

int num, times;

printf("숫자를 입력하세요 : "); scanf("%d", &num);

printf("원하는 배수는(2~9) : "); scanf("%d", &times);


if (times < 2 || times > 9) 

{

printf("잘못입력했습니다.");

return 0; //메인함수 종료

}

if(num % times ==0)

printf("%d는 %d의 배수가 맞습니다.", num, times);

else

printf("%d는 %d의 배수가 아닙니다.", num, times);


return 0;

}