목차
1. 세 변의 길이로 유효한 삼각형인지 검사하기
-삼각형이 성립할 조건
두 변의 길이의 합이 나머지 한 변의 길이보다 커야 한다.
♣결과
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a,b,c;
printf("유효한 삼각형인지 확인하겠습니다.\nA, B, C 세 변의 길이를 입력해주세요\n");
scanf("%d%d%d", &a,&b,&c);
if (a +b>c && a+c>b && b+c>a) {
printf("삼각형의 조건이 맞습니다\n");
}
else {
printf("삼각형이 성립하지 않습니다.\n\n)");
}
return 0;
}
2. 세 내각의 크기로 유효한 삼각형인지 검사하기
-삼각형이 성립할 조건
세 내각의 합이 180도이다.
세 내각은 0보다 크다.
♣결과
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a,b,c;
printf("유효한 삼각형인지 확인하겠습니다.\nA, B, C 세 각의 크기를 입력해주세요\n");
scanf("%d%d%d", &a,&b,&c);
if (a > 0 && b > 0 && c > 0) {
if (a + b + c == 180) {
printf("삼각형의 조건이 맞습니다\n");
}
else {
printf("삼각형이 성립하지 않습니다.\n\n)");
}
}
else {
printf("삼각형이 성립하지 않습니다.\n\n)");
}
return 0;
}
3. 이차 방정식 근 구하기
a*x*x +b*x +c=0의 근은
1) a=0이면 근은 -c/b
2) b*b -4*a*c 판별식이 음수이면 실근 없음
3) 위의 조건이 해당되지 않으면 근의 공식 이용
♣결과
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main(void)
{
double a, b, c, d, x, y;
printf("이차 방정식의 근을 구하는 문제입니다..\na, b, C 세 계수를 입력해주세요\n");
scanf("%lf%lf%lf", &a, &b, &c);
d = b * b - 4.0 * a * c;
if (a == 0) {
x = -c / b;
printf("근의 값은 %lf입니다.\n\n", x);
}
else if (d < 0) {
printf("실근은 존재하지 않아요\n\n");
}
else {
x = (-b + sqrt(d)) / (2.0 * a);
y = (-b - sqrt(d)) / (2.0 * a);
printf("근의 값은 %lf, %lf입니다.\n\n", x, y);
}
return 0;
}//olivia_codingschool
주의점
sqrt는 루트를 씌워주는 것이다.
이를 위해 math.h 를 헤드파일에 적는다.
4. 온도에 따른 날씨 출력하기
♣결과
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main(void)
{
double t;
printf("온도에 따른 날씨를 출력하는 자동시스템입니다..\n오늘의 바깥 온도를 입력해주세요\n");
scanf("%lf", &t);
if (t<-10) {
printf("오늘 날씨는 매우 추우니, 옷을 두껍게 입고 나가세요.\n\n");
}
else if (t>=-10 && t<0) {
printf("오늘 날씨는 춥습니다\n\n");
}
else if (t >= 0 && t < 10) {
printf("쌀쌀합니다\n\n");
}
else if (t >= 10 && t < 20) {
printf("조금 쌀쌀하지만 쾌적한 날씨입니다");
}
else if (t >= 20 && t < 30) {
printf("따뜻하거나 더운 날씨입니다");
}
else {
printf("무더운 날씨입니다");
}
return 0;
}
위의 코드는 정상적으로 실행되지만, 수정 보완할 점이 있다.
코드는 효율적으로 작성하는 것이 좋은데,
불필요한 조건이 첨가되어 있기 때문이다.
if~else if~ else 구문의 의미를 보자.
if절의 조건식이 참이면 if문이 실행되고, 거짓이라면 else나 else if로 간다.
else의 뜻 자체가 앞에 것을 제외한 '이외'이다.
따라서 앞의 조건을 else나 else if에 반복할 필요가 없다.
아래는 조건의 범위를 간결하게 바꾸었다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main(void)
{
double t;
printf("온도에 따른 날씨를 출력하는 자동시스템입니다..\n오늘의 바깥 온도를 입력해주세요\n");
scanf("%lf", &t);
if (t<-10) {
printf("오늘 날씨는 매우 추우니, 옷을 두껍게 입고 나가세요.\n\n");
}
else if (t<0) {
printf("오늘 날씨는 춥습니다\n\n");
}
else if (t < 10) {
printf("쌀쌀합니다\n\n");
}
else if (t < 20) {
printf("조금 쌀쌀하지만 쾌적한 날씨입니다\n\n");
}
else if (t < 30) {
printf("따뜻하거나 더운 날씨입니다\n\n");
}
else {
printf("무더운 날씨입니다\n\n");
}
return 0;
}
5. 가위바위보 게임 만들기
♣결과
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int user, computer;
printf("가위, 바위, 보 게임에 오신 것을 환영합니다. \n");
printf("하나를 선택하세요(가위-0, 바위-1, 보-2): ");
scanf("%d", &user);
computer = rand() % 3;
printf("사용자=%d \n", user);
printf("컴퓨터=%d \n", computer);
if ((user + 1) % 3 == computer)
printf("컴퓨터 승리 \n");
else if (computer == user)
printf("비겼음 \n");
else
printf("사용자 승리 \n");
return 0;
}
'C언어 > 참고서: C언어 콘서트' 카테고리의 다른 글
C언어 21차시 조건문 연습문제 4 (0) | 2023.03.24 |
---|---|
C언어 20차시 조건문 연습문제 3 (0) | 2023.03.24 |
C언어 18차시 조건문 if else, switch 연습문제 1 (0) | 2023.03.23 |
C언어 17차시 조건문, if-else, 조건 연산자, 논리 연산자, 복합문, 블록, 단축계산, if-else if-else, switch (0) | 2023.03.22 |
C언어 16차시 수식과 연산자 연습문제 2 (0) | 2023.03.22 |