C
C 3일차 정리
#include <stdio.h> // 헤더
// deok.cpp : Defines the entry point for the console application.
//
#include <stdio.h> //printf(), scanf()
#include <stdlib.h> //exit(),system()
#include <conio.h> //getch()
& 엔퍼센트
!! if의 조건이 거짓이어야지만 else가 실행된다
int su1, su2, max=0;
scanf("%d%d",&su1,&su2);
if(su1>max) max=su1;
if(su2>max) max=su2;
if(max % 2 == 0)
printf("%d", su1);
######################
---->조건식 예제
if(조건식){
블럭1 // 한줄이상이 올시 무조건 써줘야함
}
else{
블럭2
}
if, else문으로 각각의 경우에 식을 넣을 수 있다
####################
-----> if else문
int main(int argc, char* argv[])
{
int num1, num2;
printf("두 수 중 처음 숫자가 더 큰경우의 변수값을 출력하라\n");
scanf("%d%d", &num1, &num2);
if(num1>num2)
printf("참이므로%d",num1>num2);
else
printf("거짓이므로%d",num1>num2);
}
두 수 중 처음 숫자가 더 큰경우의 변수값을 출력하라
2
3
거짓이므로0Press any key to continue
-------> 입력 비교 연산 예제
int main(int argc, char* argv[])
{
int su1, su2, max, min;
printf("정수 두 개를 입력하세요,,,");
scanf("%d%d",&su1,&su2);
/* if(su1 > su2)
max = su1, min = su2;
else
max = su2, min = su1;
*/
if(su1 > su2)
{max = su1;
min = su2;}
else
{max = su2;
min = su1;}
printf("\n max =%d min = %d", max,min);
}
정수 두 개를 입력하세요,,,3
2
max =3 min = 2Press any key to continue
----------------
세수를 입력 받아 최대값과 최소값을 구하시오.
int main(int argc, char* argv[])
{
int su1, su2, su3, max=0, min;
printf("정수 세 개를 입력하세요,,,");
scanf("%d%d%d",&su1,&su2,&su3);
if (su1 > max) max = su1;
if (su2 > max) max = su2;
if (su3 > max) max = su3;
min = su1;
if (su2 < min) min = su2;
if (su3 < min) min = su3;
printf("\n max =%d min = %d", max,min);
}
정수 세 개를 입력하세요,,,3
2
1
max =3 min = 1Press any key to continue
----------------
########################
중첨된 if문
if(조건식1){
if(조건식2) 조건1;
else 조건2;
}
else 문장3;
다음문장;
######################
---> 정수의 중첩if문을 활용한 비교
int main(int argc, char* argv[])
{
int su;
printf("정수 한 개를 입력하세요.");
scanf("%d",&su);
if(su >= 0){
if((su%2)==0)
printf(" %d:양의 짝수",su);
else
printf(" %d:양의 홀수",su);
}else
printf(" %d:음수",su);
printf("\n-------프로그램실행 끝----\n");
}
정수 한 개를 입력하세요.101
101:양의 홀수
-------프로그램실행 끝----
Press any key to continue
----> 다중 if문
int main(int argc, char* argv[])
{
int kor, eng, mat, avr;
printf("3과목 성적을 입력하세요...");
scanf("%d%d%d", &kor,&mat,&eng);
avr=(kor + eng + mat) /3;
int kor, eng, mat, avr;
printf("3과목 성적을 입력하세요...");
scanf("%d%d%d", &kor,&mat,&eng);
avr=(kor + eng + mat) /3;
if (avr <70 || kor <60 || eng <60 || mat <60)
printf("\n 불합격!!");//or연산자로 줄임
else
printf("\r 합격하셨습니다!!!");
/*
else if(kor <60)
printf("\n 불합격!!");
else if(eng <60)
printf("\n 불합격!!");
else if(mat <60)
printf("\n 불합격!!");
*/
else
printf("\r 합격하셨습니다!!!");
}
3과목 성적을 입력하세요...80 60 70
합격하셨습니다!!!Press any key to continue
-----> 중첩 if는 &&
if()
if()
다중if는 ||
if()
else()
1.입력 받은 수가 짝수인지 홀수인지 검사하는 프로그램 작성
#include "stdafx.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
int num1;
printf("입력 받은 수가 짝수인지 홀수인지 검사");
scanf("%d",&num1);
if(num1 % 2 == 0)
printf("입력 받은 수 %d 는 짝수",num1);
else
printf("입력 받은 수 %d 는 홀수",num1);
}
입력 받은 수가 짝수인지 홀수인지 검사4
입력 받은 수 4 는 짝수Press any key to continue
--------------
2.유원지에서 말을 태워주는데 처음 30분의 기본요금은 1인당 3000원이다. 이후에는 10분당 500원씩의 추가 요금을 받는다. 말을 탄 시간을 입력 받아서 전체 금액을 계산하는 프로그램을 작성하여라.
#include "stdafx.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
int num1,price,overtime; //★우선적으로 저장 요소부터 고려해야함
printf("말요금 구해보쇼");
scanf("%d",&num1);
if(num1 <= 30)
price=3000;
else {
if(num1%10 == 0) {
overtime=(num1 - 30)/10;
price=3000 + 500 * overtime;
}
else { //초과시간의 분 단위 계산
overtime=(num1 - 30)/10 + 1;
price=3000 + 500 * overtime;
}
}
printf("%d분 동안의 요금은 %d원입니다.",num1,price);
}
말요금 구해보쇼80
80분 동안의 요금은 5500원입니다.Press any key to continue
3.배달 도시락을 주문하는데 10개까지는 개당 2500원이고 10개를 초과하는 양에 대해서는 개당 2400원이다. 배달 도시락의 개수를 입력받아서 금액을 계산하는 프로그램을 작성하라.
int main(int argc, char* argv[])
{
int cnt,price;
printf("도시락 가격을 구해보쇼\n");
scanf("%d",&cnt);
if(cnt <= 10)
price=2500;
else if(cnt > 10){
price=2400;
}
price=cnt * price;
printf("도시락 %d개의 가격은 %d원입니다.",cnt,price);
}
도시락 가격을 구해보쇼11
도시락 11개의 가격은 26400원입니다.Press any key to continue
4.디스켓 1통에 5000원한다. 그런데 한번에 10통 이상을 사면 전체 금액의 10%를 할인하여 준다. 그리고 100통 이상을 사면 전체 금액의 12%를 할인하여 준다. X통의 비스켓을 사려면 얼마나 있어야 하는가?
int main(int argc, char* argv[])
{
int cnt;
printf("디스켓 가격 구해보쇼");
scanf("%d",&cnt);
if(cnt >= 10 && cnt <100) {
printf("디스켓 %d개의 가격은 %.0f원입니다.",cnt,cnt * 0.9 * 5000);//%.0f 소수점 아래 0번째까지 출력하겠다
}
if(cnt >= 100) {
printf("디스켓 %d개의 가격은 %.0f원입니다.",cnt,cnt * 0.88 * 5000);//%.0f 소수점 아래 0번째까지 출력하겠다
}
else printf("디스켓 %d개의 가격은 %.0f원입니다.",cnt,cnt * 5000);//%.0f 소수점 아래 0번째까지 출력하겠다
}
디스켓 가격 구해보쇼100
디스켓 100개의 가격은 440000원입니다.Press any key to continue
5.세 과목의 성적을 입력 받아 합계와 평균을 구하고 평균이 90이상이면 "A", 80점 이상이면 "B", 70이상이면 "C", 60이상이면 "D", 60미만이면 "F"를 출력하시오.
int main(int argc, char* argv[])
{
int kor, eng, mat, sum, avg;
char grade='F';
printf("세 과목의 성적을 입력 받아 합계와 평균을 구하고 평균 등급\n");
scanf("%d%d%d",&kor,&eng,&mat);
sum = kor + eng + mat;
avg = sum / 3;
if (avg >= 90) grade ='A';
else if (avg >= 80) grade = 'B';
else if (avg >= 70) grade = 'C';
else if (avg >= 60) grade = 'D';
printf("학생의 3과목 성적의 평균은 %d이고 등급은 %c입니다.",avg,grade) "
}
세 과목의 성적을 입력 받아 합계와 평균을 구하고 평균 등급
90
99
60
학생의 3과목 성적의 평균은 83이고 등급은 B입니다. Press any key to continue
#################
조건문 [switch-case]
//동작도 느리고 문법적으로 어려움
//if문이 배우기도 쉽고 연산도 빠르다.
switch(식)
{
case 상수식1;문장;breadk;
...
default : 문장n+1; //else와 동일
}
switch(1) //실행예제
{
case 1;문장;breadk;
case 1;문장;breadk;
case 1;문장;breadk;
case 'a';문장;breadk;
}
---->switch-case문 예제
int main(int argc, char* argv[])
{
a:
int num;
scanf("%d",&num);
switch(num){
case 1:printf("\n1입력");break;//break는 switch문을 빠져나감
case 2:printf("\n2입력");break;
default:printf("\n1,2제외한 나머지 입력");;
}
goto a;
}
1
1입력
----->3의 배수 구하는 스위치문
int main(int argc, char* argv[])
{
a:
int num, ret;
scanf("%d",&num);
ret=num%3;
switch(ret){
case 0:printf("3의 배수\n");break;
default:printf("3의 배수가 아니다\n");break;
}
goto a;
}
################################
메뉴 만들기
#include "stdafx.h"
#include <stdio.h> //printf(), scanf()
#include <stdlib.h> //exit(),system()
#include <conio.h> //getch()
int main(int argc, char* argv[])
{
int num, data;
while(1){ //반복문 do-loop, while, for문
printf("===========================================\n");
printf("1. 데이터 입력\n");
printf("2. 데이터 출력\n");
printf("3. 종료\n");
printf("===========================================\n");
scanf("%d", &num);
switch(num){
case 1:printf("데이터를 입력하세요\n");
scanf("%d", &data);break;
case 2:system("cls");printf("%d", data);getch();break;//getch()는 문자 한 개를 입력받는 역할(입력), getch() 키를 하나 입력할때까지 기다리도록 넣었슴
case 3:exit(1);
}
system("cls");//cmd에서 쓰이는 명령어들을 사용.clears
}
}
'C'의 다른글
- 현재글C 3일차 정리