프로그래밍 공부/C

2020.01.05 5장 조건문

Rocketbabydolls 2020. 11. 4. 00:05

  모든 예시들은 실전C프로그래밍(21세기사, 나중채_김도년_김영갑_박천수_박태순_양효식_임필옥_장문정_장 윤_한동일 공저)에 수록되어 있는 것들입니다.


 


 

 


[문제 5] 양의 정수를 하나 입력 받아, 2, 3, 5, 중 어떤 수에 의해 나누어떨어지는 지에 따라 해당 알파벳을 출력한다.

int main()
{
int a;

scanf("%d", &a);

if (a % 2 == 0 && a % 3 == 0 && a % 5 == 0) 
printf("A");

if (a % 2 == 0 && a % 3 == 0&&a%5!=0)
printf("B");

if (a % 2 == 0 && a % 5 == 0&&a % 3 != 0)
printf("C");
if (a % 3 == 0 && a % 5 == 0&&a % 2 != 0)
printf("D");
if (a % 2 == 0 && a % 5 != 0 && a % 3 != 0
|| a % 2 != 0 && a % 5 == 0 && a % 3 != 0
|| a % 2 != 0 && a % 5 != 0 && a % 3 == 0)
printf("E");
if (a % 2 != 0 && a % 5 != 0&& a % 3 != 0)
printf("N");


 
 
 return 0;
}

 

[문제 6] 3개의 정수를 입력 받고, 최댓값과 최솟값을 차례로 출력하는 프로그램을 작성하시오.

 

int main()
{
int a,b,c;

scanf("%d %d %d",&a,&b,&c);

int min,max;

min=a;
max=a;
if(min>b)min=b;
if(min>c)min=c;
if(max<b)max=b;
if(max<c)max=c;

printf("%d %d",max,min);
 
 return 0;
}

 

[문제 7] 숫자 맞추기 게임 프로그램을 작성하시오.

int main()
{
int n,m;

scanf("%d",&n);
scanf("%d",&m);
if(m<n){
printf("UP\n");
scanf("%d",&m);

if(m<n)printf("UP\n");
else if(m>n) printf("DOWN\n");
else printf("RIGHT\n");
}
if(m>n){
printf("DOWN\n");
scanf("%d",&m);
if(m>n)printf("DOWN\n");
else if (m<n)printf("UP\n");
else printf("RIGHT\n");

}
if (m==n)printf("RIGHT");
 return 0;
}

 

[문제 8] 연도를 나타내는 양의 정수 N을 입력 받아, 윤년인지 평년인지 출력하는 프로그램을 작성하시오.

 

int main()
{
int N;
scanf("%d",&N);

if(N%4==0) 
if(N%100==0)
if(N%400!=0) printf("common year");

else printf("leap year");
else printf("leap year");
else printf("common year");

return 0;
}

 

[문제 9] 연도와 월, 일을 yyyy/mm/dd 형태로 두 번 입력 받아, 둘 중 더 빠른 연월일을 출력하는 프로그램을 작성 하시오, 두 입력 값이 같은 경우에는 입력 값을 출력하고 *을 출력한다.

 

int main()
{
int y,m,d;
int y2,m2,d2;
scanf("%d/%d/%d",&y,&m,&d);
scanf("%d/%d/%d",&y2,&m2,&d2);

if (y>y2){
printf("%d/%d/%d",y2,m2,d2);
}
else if(y<y2){
printf("%d/%d/%d",y,m,d);
}
else {
if(m>m2){
printf("%d/%d/%d",y2,m2,d2);
}
else if (m<m2){
printf("%d/%d/%d",y,m,d);
}
else{
if(d>d2){
printf("%d/%d/%d",y2,m2,d2);
}
else if(d<d2){
printf("%d/%d/%d",y,m,d);
}
else{
printf("%d/%d/%d*",y2,m2,d2);
}
}
}


return 0;
}

 

[문제 10] 한 학생의 국어, 영어, 수학 점수 ( 점수는 정수 값으로 0~100점 사이 값으로 입력된다.)를 입력받아 다음과 같이 학점과 함께 메세지를 출력하는 프로그램을 작성하여라, 실수로 평균을 구하여라.

 

int main()
{
int a,b,c;
double m;
scanf("%d %d %d",&a,&b,&c);
m=((double)a+(double)b+(double)c)/3;
if (m>=91.5) printf("A");
else if(m>=85.5&&m<91.5) printf("B");
else if (m>=80.5&&m<85.5)printf("C");
else printf("F");

if(a==100||b==100||c==100) printf("Good");
if(a<60||b<60||c<60) printf("Bad");

return 0;
}

 

[문제 11] 야구 게임

int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int a2,b2,c2,S,B;
scanf("%d %d %d",&a2,&b2,&c2);
S=0,B=0;
if(a==a2)S++;
if(a==b2)B++;
if(a==c2)B++;
if(b==a2)B++;
if(b==b2)S++;
if(b==c2)B++;
if(c==a2)B++;
if(c==b2)B++;
if(c==c2)S++;
printf("%dS%dB",S,B);
return 0;
}

이렇게 풀어도 되나;;

 

[문제 12] 음료의 종류를 나타내는 1~3사이 정수 N과 투입한 금액을 나타내는 양의 정수 M(100의 배수라고 가정)을 입력 받고, 예시와 같이 선택한 음료의 이름과 잔돈의 개수를 출력하는 프로그램을 작성하시오.

 

 

int main()
{
int N, M,a,b;
scanf("%d",&N);
scanf("%d",&M);
a=0,b=0;



if(N==1){
printf("Americano\n");
if(M>500){
M=M-500;
if(M==500) a+=1;
}

}

if(N==2){
printf("Cafe Latte\n");
if(M>500){
M=M-500-400;
a+=1;
b=M/100;
}

}



if(N==3){
printf("Lemon Tea\n");
if(M>500){
M=M-500-300;
a+=1;
b=M/100;
}
}
printf("%d %d",a,b);
return 0;
}

 

[문제 13]  한 학생의 국어, 영어, 수학 점수 ( 점수는 정수 값으로 0~100점 사이 값으로 입력된다.)를 입력받아 다음과 같이 학점과 함께 메세지를 출력하는 프로그램을 작성하여라, 실수로 평균을 구하여라.

int main()
{
int a,b,c;
double m;

scanf("%d %d %d",&a,&b,&c);

m=((double)a+(double)b+(double)c)/3;

if(m>=75) printf("A");
else if(m<75&&m>=50) printf("B");
else printf("F");


return 0;
}

switch 문을 이용하여 학점 구하기

int main()
{
int a,b,c,num;
double m;

scanf("%d %d %d",&a,&b,&c);

m=((double)a+(double)b+(double)c)/3;
num=m;
m=m/10;

switch(num/10){
case 8:
printf("A");
break;
case 7:
switch(num%10){
case 0:
printf("B");
break;
case 1:
printf("B");
break;
case 2:
printf("B");
break;
case 3:
printf("B");
break;
case 4:
printf("B");
break;
default:
printf("A");
break;
}
break;
case 6:
printf("B");
break;
case 5:
printf("B");
break;
default:
printf("F");
break;

}
return 0;
}