Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- CodeEngn
- bee-box
- XSS
- WarGame
- 소프트웨어보안
- hacking
- 알고리즘
- 네트워크
- network
- 해킹
- 순서도
- 네트워크보안
- dreamhack
- 웹해킹
- System
- 리버싱
- 웹
- Web
- 모의해킹
- TCP
- Webhaking
- reversing
- ftz
- webhacking
- 비박스
- 워게임
- 드림핵
- 시스템해킹
- 시스템
- 소프트웨어
Archives
- Today
- Total
Without a Break
C 프로그램 사례 본문
사례 1)
#include <stdio.h>
main()
{
int SUM;
int A;
int B;
A = 10;
B = 25;
SUM = A + B;
printf("%d\n", SUM);
}
- 변수 A와 B의 값을 합한 값을 변수 SUM에 저장 후 출력
사례 2)
#include <stdio.h>
void main()
{
int SUM = 0, N1, N2, N;
scanf("%d", &N1);
scanf("%d", &N2);
for(N = N1; N<=N2;N++){
SUM = SUM + N;
}
printf("%d부터 %d까지 정수의 합은 %d이다. \n", N1, N2, SUM);
}
- 데이터 타입이 int형인 변수 SUM, N1, N2, N 생성. SUM은 0으로 초기화
- N1과 N2를 사용자에게 입력받음
- N1부터 N2까지 정수의 합을 SUM에 저장 후 출력
사례 3)
#include <stdio.h>
void main()
{
int NUM[5] = {70, 60, 50, 80, 90};
int MIN = 9999;
int N;
for (N = 0; N < 5; N++){
if (MIN > NUM[N]) {
MIN = NUM[N];
}
}
printf("배열 NUM의 원소들 중에서 최솟값은 %d입니다. \n", MIN);
}
- 배열변수 NUM의 5개 원소 값을 초깃값으로 설정하고 MIN을 9999로 초기화
- N번 동안 NUM(N)이 MIN보다 더 작으면 새로운 MIN으로 바꿔 최솟값을 찾는 for문 반복
- 최솟값 MIN 출력
사례 4)
#include <stdio.h>
void main()
{
int n, Fact = 1;
scanf("%d", &n);
printf("%d", n);
while(n>0) {
Fact = n * Fact;
n = n - 1;
}
printf("의 누승은 %d입니다. \n", Fact);
}
- 사용자에게 입력받은 변수 n의 팩토리얼 값을 출력
사례 5)
#include <stdio.h>
int factorial(int n)
{
int Fact = 1;
while(n>0){
Fact = n * Fact;
n = n-1;
}
return Fact;
}
void main()
{
int n, Fact;
scanf("%d", &n);
printf("%d", n);
Fact = factorial(n);
printf("의 누승은 %d입니다. \n", Fact);
}
- 팩토리얼 함수 생성
- 사용자에게 정수 n을 입력받아 n의 팩토리얼 값을 출력
사례 6)
#include <stdio.h>
int factorial(int n)
{
int Fact = 1;
if(n > 0) Fact = n * factorial(n-1);
return Fact;
}
void main()
{
int n, Fact;
scanf("%d", &n);
printf("%d", n);
Fact = factorial(n);
printf("의 누승은 %d입니다. \n",Fact);
}
- 재귀 호출을 통해 사용자가 입력한 변수 n의 팩토리얼 값을 출력
사례 7)
#include <stdio.h>
void swap(int *L, int *R)
{
int Temp;
Temp = *L;
*L = *R;
*R = Temp;
}
int GCD(int X, int Y)
{
for(;;){
int M = X % Y;
if(M == 0)
break;
X = Y;
Y = X;
}
return Y;
}
void main()
{
int A, B, R;
printf("두 수를 입력하세요. \n>>> 첫번째 수 = ");
scanf("%d",&A);
printf(">>>두번째 수 = ");
scanf("%d", &B);
if(A < B) swap(&A, &B);
R = GCD(A,B);
printf("최대공약수는 %d입니다. \n",R);
}
- swap() 함수는 두 개의 포인터 변수를 받아들여 보관된 값을 서로 교환함
- swap() 함수처럼 함수의 매개변수에 변수에 대한 주소를 전달하면서 함수를 호출한다. => Call by Address / Call by Reference
- GCD() 함수는 두 수 X, Y의 최대공약수를 구한느 함수로 main() 함수에 의하여 호출된 후 최대공약수를 계산하여 반환
'Algorithm > 컴퓨터알고리즘' 카테고리의 다른 글
누승 활용 수열, 제곱의 합, '+,-' 교행 수열 (0) | 2022.10.07 |
---|---|
[순서도 실습] 백준 11653번 - 소인수분해 (C) (0) | 2022.10.03 |
기본 수열, 등차/등비 수열, 피보나치 수열 (0) | 2022.10.03 |
[순서도 실습] 백준 2033번 - 반올림 (C) (0) | 2022.09.28 |
C언어에 대한 이해 (0) | 2022.09.28 |