-
day2 20170910- C수업내용예제 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", ×);
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;
}
'- C수업내용예제' 카테고리의 다른 글
day1 20170909 (0) 2017.09.09