728x90
반응형
/* 섭씨 온도 입력하면 화씨 온도 반환 CelToFah 함수
그 반대 FahToCel 함수 정의및 호출
Fah=1.8 x Cel+32 */
#include <stdio.h>
double CelToFah(double c)
{
return 1.8*c + 32;
}
double FahToCel(double f)
{
return (f - 32) / 1.8;
}
int main()
{
int select;
double num;
printf("1. 섭씨℃->화씨℉ 2. 화씨℉->섭씨℃-\n");
printf("선택:");
scanf("%d", &select);
if (select == 1)
{
printf("섭씨℃ 입력: ");
scanf("%lf", &num);
printf("섭씨℃->화씨℉: %f \n", CelToFah(num));
}
else if (select == 2)
{
printf("화씨℉ 입력:");
scanf("%lf", &num);
printf("화씨℉->섭씨℃: %f \n", FahToCel(num));
}
return 0;
} |
/* 인자로 전달된 수만큼의 피보나치 수열을 출력하는 함수
5를 입력하면 5! */
#include <stdio.h>
void Fibo(int num)
{
int f1 = 0;
int f2 = 1;
int f3;
int i;
if (num == 1)
printf("%d ", f1);
else
printf("%d %d ", f1, f2);
for (i = 0; i<num-2; i++) // 0과 1일 경우는 위의 if~else문에서 출력
{
f3 = f1 + f2;
printf("%d ", f3);
f1 = f2;
f2 = f3;
}
}
int main()
{
int n;
printf("출력하려는 피보나치 수열갯수 (1이상 입력) : ");
scanf("%d", &n);
if (n < 1)
{
printf("1 이상 값 입력하세요 \n");
return -1;
}
Fibo(n);
return 0;
} |
최대 공약수(Greatest Common Measure) 구하기 (유클리드 호제법 이용)
알고리즘
- 두 수 n1,n2 입력
- n이 0이라면, n2 출력하고 알고리즘 종료.
- n이 n2를 나누어 떨어지면, n을 출력하고 알고리즘 종료.
- 그렇지 않으면, n2를 n1로 나눈 나머지를 새롭게 n2에 대입하고, n2와 n1을 바꾸고 3.으로 돌아온다.
예를 들어 6, 12의 GCM을 구할 때, 12가 6을 나누어 떨어지니 6을 출력하고 알고리즘을 종료한다.
#include<stdio.h>
int GCM(int n1, int n2);
int main(void)
{
int n1;
int n2;
printf("두 개의 정수 입력: ");
scanf("%d %d", &n1, &n2);
printf("GCM : %d \n", GCM(n1, n2));
return 0;
}
int GCM(int n1, int n2)
{
int result;
result = n1;
while(n1%result !=0 || n2%result !=0)
result--;
return result;
} |
이 문제에선 6, 9의 GCM을 구한다면,
int result; result = n1; while(n1%result !=0 || n2%result !=0) result--
n1=6, result=6
6과 6을 나눈 나머지는 0, 9와 6을 나눈 나머지는 3이므로
=0 (false) || !=0 (true) 가 된다.
따라서 result--가 되고 while을 반복해나가다보면
6%3=0 || 9%3=0 이 되어 while문을 빠져나가고 result값인 3을 return하며 종료된다.
728x90
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
2016-05-17_조재찬_업무일지_AVR 입출력/ C#메소드 (0) | 2016.05.17 |
---|---|
2016-05-16_조재찬_업무일지_AVR 입출력/ C#기초 (0) | 2016.05.16 |
칸 아카데미 암호학 강좌 (2) | 2016.05.14 |
아마존 딥러닝 라이브러리 DSSTNE 발표 (0) | 2016.05.14 |
2016-05-02_조재찬_스터디일지_버블정렬과 재귀 알고리즘 (0) | 2016.05.02 |
2016-04-28_조재찬_스터디일지_자료구조 (0) | 2016.04.29 |
2016-04-27_조재찬_업무일지_디지털제어-회로 기초 (0) | 2016.04.27 |
20160427_장진웅_업무일지_디지털 제어_기본 논리회로 실험2 (0) | 2016.04.27 |